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.0
和Bearer
代替bearer
。没有运气。
【问题讨论】:
请包含您拥有的代码,并显示错误发生的位置和错误的详细信息(如果异常其类型等)。 抱歉@Richard 有点晚了,我已经更新了我的问题。已经谢谢了! 【参考方案1】:您已经获得了旧版 MSA 和现代 v2 身份验证位的组合。
您的 tokenUrl
不正确。应该是https://login.microsoftonline.com/common/oauth2/v2.0/token
。
您也没有请求任何权限范围。最终结果将是一个无法访问任何内容的令牌。您可能至少需要User.Read
和Files.ReadWrite
。
看看Microsoft v2 Endpoint Primer 了解一下。
【讨论】:
以上是关于Microsoft OneDrive 和 SharePoint的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft OneDrive 和 SharePoint
使用 microsoft graph api 检出 onedrive 文件的状态
免费在线自助开通 Microsoft Office E3 账号(5TB Onedrive + 桌面版 Office)
在 android app 中访问 Dropbox、google drive、microsoft onedrive 等中的云共享文件