在app-mode下运行时,是否可以使用Microsoft Graph API访问用户的OneDrive for Business文件夹和文件?
我已经在Azure AD中成功配置了应用程序(带有证书等),我已经能够获得持有者令牌,并且我也成功地从某些端点请求了数据。但是:我无法使用用户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
不按预期返回有关指定用户驱动根子项的信息。
其他说明:
答案 0 :(得分:2)
您无法执行此操作的原因是我们尚未公开任何仅限应用程序访问OneDrive文件的权限。这是我们正在努力的事情,并希望很快揭露。请继续关注我们blog posts,我们会让人们知道何时添加此功能。
希望这有帮助,
答案 1 :(得分:0)
我正在使用AAD v2,在Microsoft App注册门户中注册了该应用程序。一旦管理员通过包含租户ID和客户端ID的应用程序同意URL同意该应用程序,该应用程序就可以访问具有App Mod权限的所有用户驱动器和文件。所以你的场景现在是可能的,只是想添加那些信息,因为接受的答案似乎已经过时了。