rest - 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
解决方案
检查OnBeforeRequest REST API 回调中的Accept和Content-Type标头。
我发现,在测试 IDE 时,例如"application/json"
两者都会发送,但在运行时,平台会添加";utf-8"
到这些标头的值中。然后,请求通常会在没有适当的错误规范/声明的情况下被拒绝。
推荐阅读
- javascript - 比较 2 个对象数组,一个与旧数据,一个与新数据,然后根据新数据更新状态
- sql - 通过分析第一列中的数据查询以创建新列
- javascript - 作为表单提交时没有错误,但作为函数提交时出错
- java - 适用于 Android 的 Firebase 数据库,以字符串形式返回地图数据
- php - OKEX提现错误10006
- regex - JS6 使用第一个数字作为其他变量的值编写 regExp
- sql - 不能在 UPDATE 中使用聚合函数
- javascript - 获取元素,javascript,html
- ios - 如何在 iOS Swift 中录制视频时拍摄照片?
- javascript - ajax 中的模态按钮事件