有人能告诉我如何使用REST api在Sharepoint 2010中创建子网站吗?找不到任何帮助。
基本上,我必须使用angular js从我的UI应用程序与SharePoint 2010进行集成。但在此之前,我想在rest客户端中尝试一下,看看在创建子站点时需要传递什么内容。
向您致敬,尼沙尔
发布于 2018-06-15 15:16:11
公共subsite_create(requestdata: SubsiteModels) {
let requestdatastr: string = JSON.stringify(
{
'parameters': {
'__metadata': { 'type': 'SP.WebInfoCreationInformation' },
'Title': requestdata.Title,
'Description': requestdata.Description,
'Language': 1033,
'WebTemplate': 'STS#0',
'Url': requestdata.Url,
'UseUniquePermissions': requestdata.UseUniquePermissions
}
});
console.log("Response:", requestdatastr);
this.context.spHttpClient.post(`${this.context.pageContext.web.absoluteUrl}/_api/web/webinfos/add`,
SPHttpClient.configurations.v1,
{
headers: {
'Accept': 'application/json;odata=verbose',
'Content-type': 'application/json;odata=verbose',
'odata-version': ''
},
body: requestdatastr
})
.then((response: SPHttpClientResponse) => {
response.json().then((responseJSON: JSON) => {
console.log(responseJSON);
});
});
}
上面的代码是helpful1你来创建子网站。下面将介绍用于创建子网站的Rest API
this.context.spHttpClient.post(`${this.context.pageContext.web.absoluteUrl}/_api/web/webinfos/add`,
它对我有效,希望对你也有效。
发布于 2018-06-15 15:48:19
请找到下面的代码。
这将帮助您使用REST API和HttpClient创建SharePoint子站点
using (var client = new HttpClient(handler))
{
client.BaseAddress = new Uri(webUri);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Add("accept", "application/json;odata=verbose");
client.DefaultRequestHeaders.Add("X-RequestDigest", formDigest);
var json = string.Format("{{'parameters':{{'__metadata': {{'type': 'SP.WebInfoCreationInformation'}}, 'Url':'{0}','Title':'{0}','Description':'Sito per la pratica {0}','Language':1033,'WebTemplate':'sts','UseUniquePermissions':false}}}}",nameSubsite);
client.DefaultRequestHeaders.Add("ContentLength", json.Length.ToString());
HttpContent httpContent = new StringContent(json);
httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json;odata=verbose");
httpContent.Headers.ContentType.Parameters.Add(new NameValueHeaderValue("odata", "verbose"));
var getAsyncTask = Task.Factory.StartNew(() =>
{
HttpResponseMessage result = client.PostAsync("/_api/web/webinfos/add", httpContent).Result;
return result;
});
response = getAsyncTask.Result;
response.EnsureSuccessStatusCode();
}
https://stackoverflow.com/questions/43849237
复制相似问题