use*_*967 12 office365 onedrive microsoft-graph
我是Office 365部署的租户管理员.我们的内部系统需要访问所有OneDrive站点.我们使用我的租户管理员凭据获取OAuth令牌,并尝试使用带有该OAuth令牌的SharePoint/OneDrive REST API从所有OneDrive站点获取文件.
使用租户管理员的OAuth令牌,我们只能获取租户管理员拥有的文件或与租户管理员共享的文件.我们无法从其他用户的OneDrive获取文件.
与Microsoft Graph API也有相同的结果.我们只能获取租户管理员拥有的文件或与租户管理员共享的文件.我们无法从其他用户的OneDrive获取文件.
一个解决方案是将所有OneDrive站点的租户管理员添加到网站集管理员,但这对我们来说不是一个可行的选择.
是否有任何API或任何其他方式通过使用OneDrive管理员或租户管理员凭据获取所有OneDrive用户的文件?
谢谢,阿比
您可以使用委派权限或应用程序权限来执行此操作。您选择哪一种取决于您的应用程序的运行方式以及您正在使用的 OAUTH 授予流程。
如果您的应用程序与交互式用户一起运行(即,当它运行时您坐在它前面),那么您需要使用委派权限和授权代码授予流程。
如果您的应用程序作为服务运行(即在后台运行),那么您将需要使用应用程序权限和客户端凭据授予流程。
无论您选择哪种权限模型,权限范围和端点都将保持不变。
您需要以下权限范围之一才能访问租户内其他用户的文件:Files.Read.All、Files.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.All。
为了查看其他用户的文件,您需要直接寻址该用户的驱动器。这是通过用户的userPrincipalName. 例如,要查看用户驱动器根目录中的文件,您可以调用:
https://graph.microsoft.com/v1.0/users/{userPrincipalName}/drive/root/children
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |