我有一个使用Office 365 SharePoint预览API的客户端应用。最近(截至2014年10月),Microsoft发布了版本1.0 of that API。预览API使用的身份验证步骤不再适用于1.0版。
演示我创建的问题a short node.js script。该脚本执行以下操作:
POST
到https://login.windows.net/common/oauth2/token
获取访问令牌GET
到Office 365发现服务以获取SharePoint API端点POST
到https://login.windows.net/common/oauth2/token
使用刷新令牌获取新的访问令牌GET
到SharePoint API端点以获取文件列表该脚本可以与API的预览API和版本1.0一起使用。它能够从预览API获取文件的JSON列表,但是对于版本1.0(在最后一次调用中)失败了以下内容:
{
"error": {
"code": "-2147024891, System.UnauthorizedAccessException",
"message": "Access denied. You do not have permission to perform this action or access this resource."
}
}
有人看到调用顺序有什么问题吗?
答案 0 :(得分:0)
感谢您与我们保持联系,我们非常感谢您的反馈。正在推出修复程序,以解决非管理员通过Files API访问文件/文件夹的问题。如果您仍处于开发/探索阶段,可以考虑采取以下措施取消阻止:
一个。暂时将用户添加为我的站点主机网站上的管理员
湾暂时获取应用的AllSites权限
我会在生产中修补问题后更新此主题,这应该很快就会发生。
答案 1 :(得分:0)
在查看脚本时,看起来您使用的是硬编码资源ID(“Microsoft.SharePoint”),当我相信新的(“domain-my.sharepoint.com”)时。如果使用多租户,它将是动态的,并且可以从发现调用中获得,并且可能是您每次都应该使用的ID。如果您有单租户,那么我想您可以对其进行硬编码。