如何使用 REST API 更新 SharePoint 2013 wiki 页面?
三种排列方式:
- 阅读现有页面(仅内容)
- 更新现有页面
- 创建新页面
对于阅读现有页面,我当然可以只获取正确 URL 的“GET”,但这也降低了 wiki 页面上实际数据周围的所有各种装饰——而不是我自己找出来,这将是如果可能的话,如果有办法只获取内容,那就更好了。
是否有特殊的端点是允许在 wiki 页面上进行这三个操作中的任何一个的 REST API?
如何使用 REST API 更新 SharePoint 2013 wiki 页面?
三种排列方式:
对于阅读现有页面,我当然可以只获取正确 URL 的“GET”,但这也降低了 wiki 页面上实际数据周围的所有各种装饰——而不是我自己找出来,这将是如果可能的话,如果有办法只获取内容,那就更好了。
是否有特殊的端点是允许在 wiki 页面上进行这三个操作中的任何一个的 REST API?
正如 GMasucci 的帖子中所述,似乎没有一种干净或明显的方式可以通过 REST API 实例化页面。
您可以从位于 http://[site]/_vti_bin/Lists.asmx 的 SOAP 服务调用 AddWikiPage 方法。这是一个开箱即用的服务,除非它因任何原因被特别锁定,否则它是可以访问的。
要通过 REST API 读取 wiki 页面的内容,您可以使用以下端点:
https://[siteurl]/_vti_bin/client.svc/Web/GetFileByServerRelativeUrl('/page/to/wikipage.aspx')/ListItemAllFields
内容包含在 WikiContent 字段中。您可能希望向该 URL 添加一个选择并将其作为 JSON 返回,以减少传递的数据量(如果这是一个问题)。
至于更新现有 wiki 页面的内容,我没有尝试过,但我想这就像通过 REST API 填充另一个字段一样。这就是我期望的方式:
对与上述相同的端点执行 HTTP POST
使用以下 HTTP 标头:
发布以下 JSON 正文
{
"__metadata": { "type": "SP.Data.SitePagesItem" },
"WikiField" : "HTML entity coded wiki content goes here"
}
我发现的临时答案是不使用 REST,因为它似乎不是
所以我目前的建议是利用 SOAP 服务来实现相同的目标,因为这些服务更有文档且更易于访问。