首页 文章

在应用程序模式下通过Microsoft Graph访问AD用户OneDrive for Business

提问于
浏览
1

在app-mode下运行时,是否可以使用Microsoft Graph API访问用户的OneDrive for Business文件夹和文件?

我已经在Azure AD中成功配置了应用程序(带有证书等),我已经能够获得持有者令牌,并且我还成功地从某些 endpoints 请求了数据 . 但是:我无法使用用户OneDrive for Business文件夹或文件 .

在其他情况下,我一直在使用服务帐户(具有完全管理权限的用户帐户)对用户OneDrives中的文件夹和文件执行CRUD操作,但这需要我检查(和设置)所有文件夹和文件的权限任何CRUD操作,并在服务器文件和文件夹权限设置中公开服务帐户 . 使用应用程序模式的Graph API,我认为所有这些问题都消失了吗?

我有一些关于什么有用的例子,更重要的是,有些例子不是:

  • graph.microsoft.com/v1.0/users
    返回没有问题的用户列表 .

  • graph.microsoft.com/v1.0/users/UPN-PLACEHOLDER
    返回有关指定用户的信息而不会出现问题

  • graph.microsoft.com/v1.0/users/UPN-PLACEHOLDER/drive
    返回有关指定用户驱动器的信息,没有问题 .

  • graph.microsoft.com/v1.0/users/UPN-PLACEHOLDER/drive/root
    返回有关指定用户驱动器根目录的信息 .

  • graph.microsoft.com/v1.0/users/UPN-PLACEHOLDER/drive/root/children
    不按预期返回有关指定用户驱动根子项的信息 .

  • graph.microsoft.com/v1.0/drives/UPN-PLACEHOLDER/root/children
    不按预期返回有关指定用户驱动根子项的信息 .

  • graph.microsoft.com/v1.0/drives/DRIVE-ID-PLACEHOLDER/root/children
    不按预期返回有关指定用户驱动根子项的信息 .

其他说明:

  • 如果我使用常规用户帐户和«/ me»关键字登录,或者我使用服务帐户(具有完全管理权限)和UPN到其他用户帐户,但是在使用UPN的应用程序模式下,所有这些 endpoints 都按预期工作所有关于比root更深层次的信息请求(即root / children或特定文件夹)都会返回empy .

  • 我们尝试过使用SDK抽象和纯HTTP请求都没有成功 .

  • 我们尝试了很多不同的应用程序权限组合,目前还有所有权限

2 回答

  • 2

    您之所以可以公开任何仅限应用程序访问OneDrive文件的权限 . 这是我们正在努力的事情,并希望很快揭露 . 请继续关注我们的blog posts,我们会让人们知道何时添加此功能 .

    希望这可以帮助,

  • 0

    我正在使用AAD v2,在Microsoft App注册门户中注册了该应用程序 . 一旦管理员通过包含租户ID和客户端ID的应用程序同意URL同意该应用程序,该应用程序就可以访问具有App Mod权限的所有用户驱动器和文件 . 所以你的场景现在是可能的,只是想添加那些信息,因为接受的答案似乎已经过时了 .

相关问题