【问题标题】:Office 365 OneDrive REST API - "invalid_client"Office 365 OneDrive REST API-“invalid_client”
【发布时间】:2014-10-26 06:28:01
【问题描述】:

我正在尝试调用新的 Office 365 文件 REST API。 (正如here 所解释的那样)。

我正在使用 Postman 休息客户端发送请求。

我已在 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"

什么会导致这个问题?

【问题讨论】:

  • 我也遇到了同样的问题。你解决过这个问题吗?
  • 对不起,我没有。如果您找到解决方案,请告诉我。

标签: rest sharepoint azure office365 onedrive


【解决方案1】:

不确定您尝试使用哪些步骤来解决此问题,因此很难在这里为您提供帮助。我刚刚完成了有关注册应用程序以调用 OneDrive for Business 的步骤的更详细说明。现在很长而且很复杂,但我们正在努力让未来变得更好。

您可以在此处查看如何进行身份验证的详细信息:https://dev.onedrive.com/auth/aad_oauth.htm

确保您没有要求太多权限,因为这将要求您的应用由管理员而不是最终用户进行身份验证。对于大多数应用程序,您只需使用应用程序用户可以直接接受的“我的文件”权限范围。

如果您在 AAD 中发布有关您正在拨打的电话、响应和应用配置的更多信息,我可能会提供更多帮助。

【讨论】:

  • 感谢您提供详细信息。我现在已经设法让它工作了。我不太清楚如何将范围添加到 Azure AD 中的应用程序清单。
【解决方案2】:

您可能一直在使用不同的资源。

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

例如:

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

然后你需要在同一个资源上请求访问文件 :: "https://tenant-my.sharepoint.com/_api/v2.0 /drive/root/children”

上述请求给出了根子节点的列表。

  • 租户 --> 在您的组织中注册的域名。

关注this documentation进一步访问api

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    • 1970-01-01
    • 2015-10-19
    相关资源
    最近更新 更多