OneDrive - 如何使用 Rest API 访问我的企业帐户中用户的文件?

OneDrive - how to access files of users in my Business account using the Rest API?

我有一个 OneDrive 用户的公司帐户。我需要能够访问我组织内那些用户 OneDrive 帐户中的某些文件。用于迁移和备份目的。

我们为我们的 Google 驱动器和 Box.com 帐户做了类似的事情,我们使用 JWT 身份验证来提供 Simulate-User header 这样我们就可以访问所有如果需要,我们组织内的用户文件。就好像我们是共享驱动器之类的管理员一样。

是否有 OneDrive JWT 服务帐户或等效帐户的 Rest API 示例?

您需要的是客户端凭据授予流程。这将允许您获取仅限应用程序的令牌并在没有用户身份的情况下进行服务调用。您可以在这里阅读更多相关信息:

https://developer.microsoft.com/en-us/graph/docs/concepts/auth_v2_service

您需要请求的范围是 Files.Read.All,并且需要征得租户管理员的同意。您可以在此处详细了解您的方案所需的权限(应用程序权限就是您要查找的内容):

https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference#files-permissions

这是一个 link 示例 Microsoft Graph 项目,它使用仅应用程序令牌(我们建议使用 Microsoft Graph):

https://github.com/microsoftgraph/nodejs-apponlytoken-rest-sample

或者如果您打算直接调用 OneDrive API(不推荐),那么您可以使用以下示例:

https://github.com/rgregg/onedrive-app-delegate-sample