Microsoft OneDrive和SharePoint

时间:2017-04-10 14:41:16

标签: microsoft-graph onedrive

我正在尝试从MS OneDrive访问我的文件,但作为回应,它给了我错误"未经授权的访问"。 我已刷新我的访问令牌,该应用程序有效并已注册到MS App Registration Portal。

我查看了互联网并找不到解决方案。

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

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

使用Postman时错误是:

]m

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

使用onlinecurl.com时:

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

这就是我的请求:

{
  "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.0v1.0代替Bearer。没有运气。

1 个答案:

答案 0 :(得分:1)

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

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

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

看看Microsoft v2 Endpoint Primer,了解一下。