MS Graph API OneDrive 上传权限

MS Graph API Permissions for OneDrive Upload

我正在尝试通过 PUT 将文件自动上传到 OneDrive /drives/{drive-id}/items/{item-id}:/myfile.txt:/content。我已经在 Azure Active Directory 中注册了一个应用程序,但无法弄清楚我需要授予什么 permission/API 才能上传文件。另外,我只想授予应用程序上传到特定文件夹的权限。

我应该注意,我不想要代表用户上传文件的委托权限 - 这是一项自动化工作,不会与真实用户相关联。

您可以将Microsoft Graph添加为API并在应用程序权限中添加Files.ReadWrite.AllSites.ReadWrite.All。您可以选择权限 从最少到最多的两个特权。

注意: Files.ReadWrite.All:它在应用程序权限中的显示字符串是:Allows the app to read, create, update, and delete all files in all site collections without a signed in user.

此权限需要管理员同意,因此您需要使用管理员帐号,添加此权限后点击授予权限按钮。

您可以在 this documentation 中查看上传或替换 DriveItem 内容的权限。

管理员不能为特定用户授予权限,而是为整个目录授予权限,通过这样做,应用程序将可以访问目录中的所有驱动器,这可能存在安全漏洞。

解决此安全问题的解决方法是创建另一个目录,用户将共享其驱动器,然后在已注册的应用程序中授予管理员同意,并授予 files.readwrite.all 权限。