Shi*_*Dor 5 json onedrive microsoft-graph-api
我正在尝试使用 Microsoft Graph 从 OneDrive 下载文件。我目前处于测试阶段,尚未编写任何代码。
这是我到目前为止所做的:
为其提供了以下 Microsoft Graph 权限列表:
委托:Files.ReadWrite.All, offline_access, Group.ReadWrite.All, Directory.ReadWriteAll,User.ReadWriteAll
应用: Directory.ReadWrite.All, Files.ReadWrite.All, Group.ReadWrite.All,User.ReadWrite.All
使用code范围为offline_accessand的流Files.ReadWrite.All,得到一个代码,然后得到一个令牌。
使用此令牌通过/me驱动器下载文件效果很好 ( /v1.0/me/drive/items/itemid/content),但是当我尝试下载或仅查询其他用户时,我会返回权限不足的错误。
调用https://graph.microsoft.com/v1.0/users得到响应:
{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "cee06586-12af-4768-9135-b9709d7ecb5d",
"date": "2018-05-29T14:45:48"
}
}
}
Run Code Online (Sandbox Code Playgroud)
添加用户 ID 时也会发生同样的情况。当我要求获取用户的设备时,我收到“未找到”响应。
我看到了一些类似问题的答案,说我应该通过 Azure 门户将我的应用程序的权限添加到 Azure Active Directory,但我的应用程序仅列在“企业应用程序”部分中,而我在“应用程序注册”部分没有看到它" 我可以添加权限的部分,在企业应用程序部分,我无法添加任何权限,只能搜索。
注意:我的用户 ID 是 Azure 门户中的全局管理员。此用户也是创建并拥有应用程序的用户。
知道我在这里可能缺少什么吗?
谢谢
编辑:
我取得了一些进展,我尝试通过 Azure 门户而不是应用程序门户创建应用程序。现在它显示在应用程序注册页面中,因此我可以为其添加权限。
所以现在我可以查看所有用户,但是,当我尝试查看他们的驱动器时,我仍然收到“未找到”响应:
调用https://graph.microsoft.com/v1.0/users/userid/drive返回响应:
{
"error": {
"code": "itemNotFound",
"message": "The resource could not be found.",
"innerError": {
"request-id": "ec6ed197-15ea-498a-80d0-e2a9f832a0b9",
"date": "2018-05-29T15:49:18"
}
}
}
Run Code Online (Sandbox Code Playgroud)
调用/users至少需要您有User.ReadBasic.All或User.Read.All权限。由于您仅提出了请求Files.ReadWrite.All,因此您没有足够的权限通过其他用户的个人资料进行访问。
尝试不要使用范围:
User.Read.All+Files.ReadWrite.All+offline_access
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6319 次 |
| 最近记录: |