Microsoft Graph API未返回驱动器配额

时间:2016-11-21 12:31:34

标签: azure office365 azure-active-directory microsoft-graph

我遇到与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(即不在用户级别),在租户级别生成令牌。

1 个答案:

答案 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级别不可用,并且需要用户登录才能获取其特定的驱动器信息。我可能需要跟进以了解这是否真的是一个要求。但我希望您在此期间验证使用用户令牌可以解析有关该用户的驱动器信息这一事实。