禁止使用SharePoint版本API的403,但它们在设计时有效,而所有其他REST调用均有效

时间:2019-04-18 15:59:55

标签: rest sharepoint sharepoint-online outsystems

我有一个奇怪的问题,即与SharePoint版本相关的所有REST API在设计时进行测试时都可以工作,但在运行时会生成403 Forbidden错误。同样奇怪的是,所有其他REST API调用在设计时和运行时都可以正常工作,并且所有参数都与无效的参数(标头等)相同,并且我已经对所有内容进行了剪切和粘贴,但是与版本有关的所有内容仍然无法正常工作,尽管那可能只是一个红鲱鱼?

该应用程序可以成功删除文件并将其覆盖,签入和签出等,因此似乎没有权限问题。我还尝试过在读取版本信息之前签出文件,以防万一(因为在此站点上无法执行任何操作之前强制签出),但这也不起作用。

这是引起错误的调用之一的示例:

https://mycompany.SharePoint.com/sites/ {SiteName} / _ api / web / GetFileByServerRelativeUrl('/ sites / {SiteName} / Shared%20Documents / {FilenameAndPath}')/ version

2 个答案:

答案 0 :(得分:0)

看看这个post

https://sharepoint/_api/web/folders/getbyurl('Documents')/files/getbyurl('myfile.docx')/versions?$filter=VersionLabel eq '2.0'

答案 1 :(得分:0)

OnBeforeRequest REST API回调中检查 Accept Content-Type 标头。

我发现,在测试IDE时,两者都会发送"application/json"实例,但是在运行时,平台会将";utf-8"添加到这些标头的值中。然后,通常会在没有正确的错误说明/声明的情况下拒绝请求。