使用SharePoint rest api设置网站的Web属性
从Microsoft SharePoint文档中,我可以使用以下请求获取网站的web属性:http:///_api/web/“(请参阅:) 有一些属性是R/W。 当我尝试创建这些R/W属性时,我得到200 OK响应,但属性值保持不变 例如,属性名称-SaveSiteAsTemplateEnabled。 最初它的值是真的 初始获取响应:使用SharePoint rest api设置网站的Web属性,sharepoint,Sharepoint,从Microsoft SharePoint文档中,我可以使用以下请求获取网站的web属性:http:///_api/web/“(请参阅:) 有一些属性是R/W。 当我尝试创建这些R/W属性时,我得到200 OK响应,但属性值保持不变 例如,属性名称-SaveSiteAsTemplateEnabled。 最初它的值是真的 初始获取响应: { "odata.metadata": "https://druvainternal.sharepoint.com/sites/testsharepoin
{
"odata.metadata": "https://druvainternal.sharepoint.com/sites/testsharepoint/subsite1copy/_api/$metadata#Edm.Boolean",
"value": true
}
然后,当我尝试使用post调用或merge调用更改其值时。
请求:
我得到的答复是:
{"odata.metadata":"https://druvainternal.sharepoint.com/sites/testsharepoint/subsite1copy/_api/$metadata#Edm.Boolean","value":true
}
他的价值仍然是正确的
我发出的请求正确吗?在文档中没有提到如何设置这些属性。因为是的属性,所以需要构造一个请求来更新Web资源
以下示例显示了如何更新:
谢谢瓦迪姆的回答,它解决了我的问题。在标题中,我必须添加“content type”=“application/json;odata=verbose”,否则它会给出“\uu metadata在SP.Web上不存在”,在尝试使用此解决方案后,我问了一个类似的问题:这可能会帮助此解决方案不起作用的用户。我愿意接受关于将这些信息整合到您的问题中和/或删除此评论(如果不合适)的建议。
{"odata.metadata":"https://druvainternal.sharepoint.com/sites/testsharepoint/subsite1copy/_api/$metadata#Edm.Boolean","value":true
}
Endpoint Url: [web url]/api/web
Method: POST
Headers:
"X-HTTP-Method":"MERGE"
"If-Match":"*"
Data:
{"SaveSiteAsTemplateEnabled":false,"__metadata":{"type":"SP.Web"}}