我遇到与this question完全相同的问题,但看起来OP从故障排除中退出。
我正在访问this endpoint:
GET https://graph.microsoft.com/v1.0/users/[UPN]/drive/
但是,响应缺少quota
属性(以及空owner
属性):
{
"@odata.context":
"https://graph.microsoft.com/v1.0/$metadata#drives/$entity",
"id": "[ID]",
"driveType": "business",
"owner": {
"user": {}
}
}
我可以通过http://jwt.calebb.net/确认Files.Read.All
权限范围已应用于应用程序(事实上,我已经勾选了Azure应用中的每个框)。
使用租户的帐户对象ID(即不在用户级别),在租户级别生成令牌。
答案 0 :(得分:0)
基于使用Microsoft Graph Explorer的一些快速测试: https://graph.microsoft.io/en-us/graph-explorer
在我看来,您获得的结果(拥有空的所有者属性,并且缺少配额)是因为您无法访问其他人的驱动器信息。
具体来说,如果我们尝试以下查询,使用图形资源管理器提供的演示租户:
https://graph.microsoft.com/v1.0/me/drive
我获得了您要查找的所有数据。即使我特意调出了演示用户的UPN:
https://graph.microsoft.com/v1.0/users/alexd@a830edad9050849NDA1.onmicrosoft.com/drive
有效。但是,如果我尝试查询另一个用户:
https://graph.microsoft.com/v1.0/users/admin@a830edad9050849NDA1.onmicrosoft.com/drive
我完全得到你上面发布的内容。 您应确保已登录到要查询其云端硬盘配额信息的用户帐户。我相信这会解决你的问题。
编辑: 我刚刚在你的问题中注意到你提到你正在获得一个App Only Token。我的猜测是,此信息在App Only级别不可用,并且需要用户登录才能获取其特定的驱动器信息。我可能需要跟进以了解这是否真的是一个要求。但我希望您在此期间验证使用用户令牌可以解析有关该用户的驱动器信息这一事实。