2

如何使用 REST API 更新 SharePoint 2013 wiki 页面?

三种排列方式:

  • 阅读现有页面(仅内容)
  • 更新现有页面
  • 创建新页面

对于阅读现有页面,我当然可以只获取正确 URL 的“GET”,但这也降低了 wiki 页面上实际数据周围的所有各种装饰——而不是我自己找出来,这将是如果可能的话,如果有办法只获取内容,那就更好了。

是否有特殊的端点是允许在 wiki 页面上进行这三个操作中的任何一个的 REST API?

4

2 回答 2

3

正如 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 标头:

  • Cookie = "你的身份验证"
  • 内容类型=“应用程序/json;odata=verbose”
  • X-RequestDigest = "你的表格摘要"
  • X-HTTP 方法,“合并”
  • if-Match = "来自入口节点的 etag 值,从 GET 返回到上述端点"

发布以下 JSON 正文

{
 "__metadata": { "type": "SP.Data.SitePagesItem" },
 "WikiField" : "HTML entity coded wiki content goes here"
}
于 2013-06-10T12:53:15.650 回答
1

我发现的临时答案是不使用 REST,因为它似乎不是

  • 完整记录
  • 功能齐全
  • 以相同的方式在 Sharepoint 2013 和在线上支持

所以我目前的建议是利用 SOAP 服务来实现相同的目标,因为这些服务更有文档且更易于访问。

于 2013-06-06T08:14:27.483 回答