本文整理匯總了TypeScript中@microsoft/sp-http.SPHttpClient類的典型用法代碼示例。如果您正苦於以下問題:TypeScript SPHttpClient類的具體用法?TypeScript SPHttpClient怎麽用?TypeScript SPHttpClient使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了SPHttpClient類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: reject
return new Promise<string>((resolve,reject) => {
let endpoint = Text.format("{0}/_api/web/lists(guid'{1}')/Fields?$select=IsTermSetValid,TermSetId&$filter=InternalName eq '{2}'", webUrl, listId, fieldInternalName);
this.spHttpClient.get(endpoint, SPHttpClient.configurations.v1).then((response: SPHttpClientResponse) => {
if(response.ok) {
response.json().then((data:any) => {
let fields:any[] = data.value;
let fieldTermSetId = null;
if(fields.length > 0) {
let field = fields[0];
if(field.IsTermSetValid && !isEmpty(field.TermSetId)) {
fieldTermSetId = field.TermSetId;
}
}
resolve(fieldTermSetId);
})
.catch((error) => { reject(error); });
}
else {
reject(response);
}
})
.catch((error) => { reject(error); });
});
示例2:
return new Promise<any>((resolve,reject) => {
let endpoint = Text.format("{0}/_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser", webUrl);
let data:any = {
queryParams:{
__metadata:{
'type':'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters'
},
QueryString: query,
PrincipalSource: principalSource,
PrincipalType: principalType,
MaximumEntitySuggestions: maximumEntitySuggestion || 50
}
};
let options: ISPHttpClientOptions = { headers: { 'odata-version': '3.0' }, body: JSON.stringify(data) };
this.spHttpClient.post(endpoint, SPHttpClient.configurations.v1, options)
.then((response: SPHttpClientResponse) => {
if(response.ok) {
resolve(response.json());
}
else {
reject(response.statusText);
}
})
.catch((error) => {
reject(error);
}
);
});
示例3: encodeURIComponent
return new Promise<any>((resolve, reject) => {
const httpClientOptions: ISPHttpClientOptions = {
headers: {
'Accept': 'application/json;odata=verbose',
'Content-type': 'application/json;odata=verbose',
'X-SP-REQUESTRESOURCES': 'listUrl=' + encodeURIComponent(listUrl),
'odata-version': '',
},
};
const endpoint = `${webUrl}/_api/web/GetList(@listUrl)/RenderExtendedListFormData`
+ `(itemId=${itemId},formId='editform',mode='2',options=7)`
+ `?@listUrl=${encodeURIComponent('\'' + listUrl + '\'')}`;
this.spHttpClient.post(endpoint, SPHttpClient.configurations.v1, httpClientOptions)
.then((response: SPHttpClientResponse) => {
if (response.ok) {
return response.json();
} else {
reject( this.getErrorMessage(webUrl, response) );
}
})
.then((data) => {
const extendedData = JSON.parse(data.d.RenderExtendedListFormData);
if (formType !== ControlMode.Display) {
resolve(extendedData.ListData);
} else {
resolve(extendedData.Data.Row[0]);
}
})
.catch((error) => {
reject( this.getErrorMessage(webUrl, error) );
});
});
示例4: and
return new Promise<IListTitle[]>((resolve,reject) => {
let endpoint = Text.format("{0}/_api/web/lists?$select=Id,Title&$filter=(IsPrivate eq false) and (IsCatalog eq false) and (Hidden eq false)", webUrl);
this.spHttpClient.get(endpoint, SPHttpClient.configurations.v1).then((response: SPHttpClientResponse) => {
if(response.ok) {
response.json().then((data: any) => {
let listTitles:IListTitle[] = data.value.map((list) => { return { id: list.Id, title: list.Title }; });
resolve(listTitles.sort((a,b) => { return Number(a.title > b.title); }));
})
.catch((error) => { reject(error); });
}
else {
reject(response);
}
})
.catch((error) => { reject(error); });
});
示例5: getChildTermsAsync
/**
* @function
* Gets the child terms of another term of the Term Store in the current SharePoint env
*/
private async getChildTermsAsync(term: any): Promise<ISPTermObject[]> {
// Check if there are child terms to search for
if (Number(term['TermsCount']) > 0) {
//Build the Client Service Request
let clientServiceUrl = this.siteAbsoluteUrl + '/_vti_bin/client.svc/ProcessQuery';
let data = '<Request AddExpandoFieldTypeSuffix="true" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName=".NET Library" xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"><Actions><ObjectPath Id="20" ObjectPathId="19" /><Query Id="21" ObjectPathId="19"><Query SelectAllProperties="false"><Properties /></Query><ChildItemQuery SelectAllProperties="true"><Properties><Property Name="CustomSortOrder" ScalarProperty="true" /><Property Name="CustomProperties" ScalarProperty="true" /><Property Name="LocalCustomProperties" ScalarProperty="true" /></Properties></ChildItemQuery></Query></Actions><ObjectPaths><Property Id="19" ParentId="16" Name="Terms" /><Identity Id="16" Name="' + term['_ObjectIdentity_'] + '" /></ObjectPaths></Request>';
let httpPostOptions: ISPHttpClientOptions = {
headers: {
'accept': 'application/json',
'content-type': 'application/json',
"X-RequestDigest": this.formDigest
},
body: data
};
let serviceResponse: SPHttpClientResponse = await this.spHttpClient.post(clientServiceUrl, SPHttpClient.configurations.v1, httpPostOptions);
let serviceJSONResponse: Array<any> = await serviceResponse.json();
// Extract the object of type SP.Taxonomy.TermCollection from the array
let termsCollections = serviceJSONResponse.filter(
(child: any) => (child != null && child['_ObjectType_'] !== undefined && child['_ObjectType_'] === "SP.Taxonomy.TermCollection")
);
// And if any, get the first and unique Terms collection object
if (termsCollections != null && termsCollections.length > 0) {
let termsCollection = termsCollections[0];
let childItems = termsCollection['_Child_Items_'];
return(await Promise.all<ISPTermObject>(childItems.map(async (t: any) : Promise<ISPTermObject> => {
return await this.projectTermAsync(t, term);
})));
}
}
// Default empty array in case of any missing data
return (new Promise<Array<ISPTermObject>>((resolve, reject) => {
resolve(new Array<ISPTermObject>());
}));
}