首页 > 解决方案 > 403 Forbidden for SharePoint version APIs 但它们在设计时工作并且所有其他 REST 调用工作

问题描述

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

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

这是导致错误的调用之一的示例:

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

标签: restsharepointsharepoint-onlineoutsystems

解决方案


检查OnBeforeRequest REST API 回调中的AcceptContent-Type标头。

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


推荐阅读