如何使用REST API更新SharePoint 2013维基页面?
三种排列:
对于阅读现有页面,我当然可以只是对正确的URL进行“获取”,但这也会使维基页面上的实际数据周围的所有各种装饰失效 - 而不是自己捕获,如果有可能获得内容,那将会更好。
是否有特殊的端点是REST API,允许在Wiki页面上执行这三个操作中的任何一个?
答案 0 :(得分: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添加一个select并将其作为JSON返回,以减少在需要考虑的情况下传递的数据量。
至于更新现有维基页面的内容,这不是我尝试过的东西,但我想它就像通过REST API填充另一个字段一样。这就是我期望的方式:
对上述
的端点执行HTTP POST使用以下HTTP标头:
发布以下JSON正文
{
"__metadata": { "type": "SP.Data.SitePagesItem" },
"WikiField" : "HTML entity coded wiki content goes here"
}
答案 1 :(得分:1)
我发现的临时答案是不使用REST,因为它似乎不是
因此,我目前的建议是利用SOAP服务来实现相同的目标,因为这些服务更易于记录并且易于访问。