使用SharePoint rest api设置网站的Web属性

使用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

从Microsoft SharePoint文档中,我可以使用以下请求获取网站的web属性:http:///_api/web/“(请参阅:)

有一些属性是R/W。 当我尝试创建这些R/W属性时,我得到200 OK响应,但属性值保持不变

例如,属性名称-SaveSiteAsTemplateEnabled。 最初它的值是真的 初始获取响应:

{
    "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"}}