【问题标题】:Microsoft OneDrive and SharePointMicrosoft OneDrive 和 SharePoint
【发布时间】:2017-09-05 16:10:54
【问题描述】:

我正在尝试从 MS OneDrive 访问我的文件,但作为响应它给了我错误“未经授权的访问”。 我已经刷新了我的访问令牌,并且该应用程序有效并已注册到 MS 应用程序注册门户。

我上网查了一下,没有找到解决办法。

请在github repository 找到代码。 关注的方法是authorize()accessAndRefreshToken()

另外,我使用不同的工具收到不同的错误。

使用 Postman 时出现的错误是:

{
  "error": {
    "code": "InvalidAuthenticationToken",
    "message": "Bearer access token is empty.",
    "innerError": {
      "request-id": "729c6cdc-6b9e-4874-b012-5e8bdd2d91da",
      "date": "2017-04-11T17:35:47"
    }
  }
}

即使我在请求中提供了访问令牌,也会显示此错误。

使用onlinecurl.com时:

{
  "error": {
    "code": "InvalidAuthenticationToken",
    "message": "CompactToken validation failed with reason code: -2147184088.",
    "innerError": {
      "request-id": "3c1f007b-1af8-447a-89c2-eab04bd66d2e",
      "date": "2017-04-11T17:34:26"
    }
  }
}

这是我的请求的样子:

GET https://graph.microsoft.com/v1.0/me/drive
--header Content-Length: 0
--header Authorization: bearer {access_token}

我尝试使用v2.0 代替v1.0Bearer 代替bearer。没有运气。

【问题讨论】:

  • 请包含您拥有的代码,并显示错误发生的位置和错误的详细信息(如果异常其类型等)。
  • 抱歉@Richard 有点晚了,我已经更新了我的问题。已经谢谢了!

标签: microsoft-graph-api onedrive


【解决方案1】:

您已经获得了旧版 MSA 和现代 v2 身份验证位的组合。

您的 tokenUrl 不正确。应该是https://login.microsoftonline.com/common/oauth2/v2.0/token

您也没有请求任何权限范围。最终结果将是一个无法访问任何内容的令牌。您可能至少需要User.ReadFiles.ReadWrite

看看Microsoft v2 Endpoint Primer 了解一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    相关资源
    最近更新 更多