Office 365 SharePoint v1.0 API授权问题

6
我有一个客户端应用程序,使用Office 365 SharePoint预览API。最近(截至2014年10月),Microsoft发布了该API的1.0版本。与预览API一起使用的身份验证步骤不再适用于1.0版本。
为了演示问题,我创建了一个简短的node.js脚本。该脚本执行以下操作:
  • 通过启动浏览器进行授权。给出重定向URL以及启动服务器以捕获授权后的重定向
  • POSThttps://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."
    }
}

有人发现调用顺序有问题吗?

查看示例脚本以获取更多详细信息。

2个回答

0

感谢您的联系和反馈。我们正在推出修复措施,以解决非管理员通过文件API访问文件/文件夹的问题。如果您仍处于开发/探索阶段,可以考虑以下措施来解除阻塞:

a. 暂时将用户添加为我的站点主机Web上的管理员

b. 暂时获取应用程序的AllSites权限

一旦问题在生产环境中得到修补,我将更新此线程,这应该很快就会发生。


0
在查看您的脚本时,我发现您正在使用硬编码的资源ID(“Microsoft.SharePoint”),而我认为新的资源ID应该是(“domain-my.sharepoint.com”)。如果使用多租户,则它将是动态的,并且可以从发现调用中获取并且可能是您每次应该使用的ID。如果您只有单个租户,则我想您可以硬编码它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接