用于 oneDrive 数据访问的 Microsoft 图形 API 无法在管理员同意的情况下工作

Microsoft graph APIs for oneDrive data access is not working with admin consent

Microsoft graph APIs for oneDrive 数据访问在使用管理员同意方法时不起作用,同样,我可以访问域用户的邮件、联系人和日历。

我们创建了一个应用程序,用于备份和恢复 Google 域的用户数据。在管理员同意选项的帮助下,我们能够借助图表 API 获取所有用户数据,但是在访问任何用户的 oneDrive 数据时无法正常工作。相反,它只获取管理员用户 oneDrive 数据。

API : https://graph.microsoft.com/v1.0/me/drive/root

如果我们像下面这样调用则无法正常工作,基本上我们需要使用管理员同意访问所有用户 Onedrive 数据。此外,我们在 AAD 应用程序中授予了所有权限。

API : https://graph.microsoft.com/v1.0/{user_objectid/email}/drive/root

关于这个问题的帮助。

  1. 请检查Azure App门户中的权限配置。
  2. 检查你的代码,确保用户上下文是正确的。你总是得到管理员的数据,很可能你使用了错误的用户上下文。您可以提供关键代码,以便我们进一步帮助您。
  3. 你的api格式有误。

    https://graph.microsoft.com/v1.0/{user_objectid/email}/drive/root

正确的:

 https://graph.microsoft.com/v1.0/users/{user_objectid/email}/drive/root