首页 > 解决方案 > 如何在不创建应用程序的情况下使用图形 API 上传到 onedrive

问题描述

我有一个输出 .csv 文件的脚本。我想把它上传到onedrive。

由于没有权限,我无法创建应用程序。我检查了 az cli 的 rest 选项,由于访问令牌没有正确的访问权限,我收到 Error not found。

目前我正在使用 python 请求模块上传到 onedrive。我在 API 请求的授权标头中使用来自图形资源管理器的访问令牌。这样我就可以将文件上传到onedrive。

来自az account get-access-token输出的访问令牌导致 401 错误。使用图形资源管理器的访问令牌时,它正在正确上传带有 201 状态代码的文件。

使用这种方式是否有任何安全问题?即使是 cli 脚本,我们是否需要在 azure 中注册应用程序?

谢谢

标签: azuremicrosoft-graph-apiazure-cli

解决方案


谢谢你的问题。来自 Graph Explorer 的访问令牌有效,因为登录用户正在请求令牌。要上传文件,应同意委派的权限 Files.ReadWrite,这不需要管理员同意。虽然您的解决方法有效,但这不是推荐的方式,并且脚本采取的操作将归因于在获取令牌时登录到 GE 的用户。由于您的脚本应该在后台运行,您需要在租户上注册一个应用程序,为应用程序授予 Files.ReadWrite.All 权限- 这需要管理员同意 - 然后请求访问令牌并上传文件。

让我知道这是否有帮助,如果您还有其他问题,


推荐阅读