Microsoft OneDrive 和 SharePoint

Posted

技术标签:

【中文标题】Microsoft OneDrive 和 SharePoint【英文标题】:Microsoft OneDrive and 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 有点晚了,我已经更新了我的问题。已经谢谢了! 【参考方案1】:

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

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

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

看看Microsoft v2 Endpoint Primer 了解一下。

【讨论】:

以上是关于Microsoft OneDrive 和 SharePoint的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft OneDrive 和 SharePoint

使用 microsoft graph api 检出 onedrive 文件的状态

如何访问OneDrive

如何访问OneDrive

免费在线自助开通 Microsoft Office E3 账号(5TB Onedrive + 桌面版 Office)

在 android app 中访问 Dropbox、google drive、microsoft onedrive 等中的云共享文件