Office 365 OneDrive REST API - "invalid_client"

4
我正在尝试调用新的Office 365文件REST API(如此处所述)。
我使用Postman rest客户端发送请求。
我在Azure AD中注册了我的应用程序,并为其赋予了“Office 365 SharePoint Online”的完全权限。
我可以成功地使用Azure AD中生成的clientId获取授权令牌。
然而,当我尝试使用访问令牌列出文件时,会出现错误。
------------------
RESOURCE HTTP GET:
------------------
URL: https://<OUR_DOMAIN>-my.sharepoint.com/personal/<user_domain>/_api/Files
HEADER: Authorization: Bearer <access token>

Response:

3001000;reason="There has been an error authenticating the request.";category="invalid_client"

什么原因会导致这个问题?

我也遇到了同样的问题。你解决了这个问题吗? - M.Ob
抱歉,我没有找到解决方案。如果你找到了,请告诉我。 - Thushara
2个回答

1
我不确定您已尝试哪些步骤来解决此问题,因此很难在这里帮助您。我刚刚完成了更详细的说明,介绍了如何注册应用程序以调用OneDrive for Business的步骤。目前它又长又复杂,但我们正在努力改善未来的事情。
您可以在此处查看有关如何进行身份验证的详细信息:https://dev.onedrive.com/auth/aad_oauth.htm 确保您不要请求过多的权限,因为这将要求管理员对您的应用程序进行身份验证,而不是最终用户。对于大多数应用程序,您只需使用“我的文件”权限范围,即可由您的应用程序的用户直接接受。
如果您发布有关所进行的调用、响应和AAD中的应用程序配置的更多信息,我可能能够提供更多帮助。

谢谢提供详细信息。我已经成功让它工作了。我不是很清楚如何在Azure AD的应用程序清单中添加范围。 - Thushara

1

您可能使用了不同的资源。

请检查您用于获取访问令牌的资源是否与您请求获取文件的资源相同。

例如:

如果您在请求访问令牌时提到的资源为:“https://tenant-my.sharepoint.com/

那么您需要在相同的资源上进行请求以访问文件:“https://tenant-my.sharepoint.com/_api/v2.0/drive/root/children”

上述请求将返回根目录下的子文件列表。

  • tenant --> 您的组织注册的域名。

请参阅此文档以进一步访问API。


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