OneDrive API 的权限
OneDrive 和 SharePoint 公开了控制应用程序对资源的访问权限的一些粒度权限。 当用户登录你的应用时,他们(或某些情况下管理员)需要同意这些权限。 如果同意,你的应用可以访问它所请求的资源和 API。 对于没有已登录用户的应用,安装应用程序或注册时,管理员可以事先同意权限。
有关完整的 Microsoft Graph 权限集的更多详细信息,请参阅 Microsoft Graph 的权限引用。
文件权限
委派权限
权限 | 显示字符串 | Description | 需经过管理员同意 |
---|---|---|---|
Files.Read | 读取用户文件 | 允许应用读取登录用户的文件。 | 否 |
Files.Read.All | 读取用户可以访问的所有文件 | 允许应用读取登录用户可以访问的所有文件。 | 否 |
Files.ReadWrite | 具有对用户文件的完全访问权限 | 允许应用读取、创建、更新和删除登录用户的文件。 | 否 |
Files.ReadWrite.All | 具备对用户可以访问的所有文件的完全访问权限 | 允许应用读取、创建、更新和删除登录用户可以访问的所有文件。 | 否 |
Files.ReadWrite.AppFolder | 具有对应用程序文件夹的完全访问权限(预览) | (预览)允许应用读取、创建、更新和删除应用程序文件夹中的文件。 | 否 |
Files.Read.Selected | 读取用户选择的文件 | Microsoft Graph 提供一定程度的支持(见备注) (预览) 允许应用读取用户选择的文件。 用户选择文件后,应用具有几个小时的访问权限。 |
否 |
Files.ReadWrite.Selected | 读取和写入用户选择的文件 | Microsoft Graph 提供一定程度的支持(见备注) (预览) 允许应用读取和写入用户选择的文件。 用户选择文件后,应用具有几个小时的访问权限。 |
否 |
应用程序权限
权限 | 显示字符串 | Description | 需经过管理员同意 |
---|---|---|---|
Files.Read.All | 读取所有网站集中的文件 | 允许应用在没有登录用户的情况下读取所有网站集中的全部文件。 | 是 |
Files.ReadWrite.All | 读取和写入所有网站集中的文件 | 允许应用在没有登录用户的情况下读取、创建、更新和删除所有网站集中的全部文件。 | 是 |
注解
Files.Read、Files.ReadWrite、Files.Read.All 和 Files.ReadWrite.All 委托的权限对个人 Microsoft 帐户和工作或学校帐户均有效。 请注意,对于个人帐户,Files.Read 和 Files.ReadWrite 还会授予对与登录用户共享的文件的访问权限。
Files.Read.Selected 和 Files.ReadWrite.Selected 委派权限仅对工作或学校帐户有效,并且仅公开用于处理 v1.0) (Office 365 文件处理程序。 它们不应用于直接调用 Microsoft Graph API。
Files.ReadWrite.AppFolder 委派权限仅适于个人帐户,并仅用于访问带有 OneDrive 获取特殊文件夹 Microsoft Graph API 的应用程序根特殊文件夹。
用法示例
委托
- Files.Read:读取存储在已登录用户的 OneDrive 中的文件 (
GET /me/drive/root/children
) - Files.Read.All:列出与已登录用户共享的文件 (
GET /me/drive/root/sharedWithMe
) - Files.ReadWrite:写入已登录用户的 OneDrive 中的文件 (
PUT /me/drive/root/children/filename.txt/content
) - Files.ReadWrite.All:写入与用户共享的文件 (
PUT /users/rgregg@contoso.com/drive/root/children/file.txt/content
) - Files.ReadWrite.AppFolder:将文件写入 OneDrive 中的应用的文件夹中 (
PUT /me/drive/special/approot/children/file.txt/content
)
站点权限
委派权限
权限 | 显示字符串 | Description | 需经过管理员同意 |
---|---|---|---|
Sites.Read.All | 读取所有网站集中的项目 | 允许应用代表登录用户读取文档,并列出所有网站集中的项目。 | 否 |
Sites.ReadWrite.All | 读取和写入所有网站集中的项目 | 允许应用代表登录用户编辑或删除所有网站集中的文档和列表项。 | 否 |
Sites.Manage.All | 创建、编辑和删除所有网站集中的项目和列表 | 允许应用代表登录用户管理和创建所有网站集中的列表、文档和列表项。 | 否 |
Sites.FullControl.All | 完全控制所有网站集 | 允许应用代表登录用户具有对所有网站集中的 SharePoint 网站的完全控制权限。 | 是 |
应用程序权限
权限 | 显示字符串 | Description | 需经过管理员同意 |
---|---|---|---|
Sites.Read.All | 读取所有网站集中的项目 | 允许应用在没有登录用户的情况下读取所有网站集中的文档和列表项。 | 是 |
Sites.ReadWrite.All | 读取和写入所有网站集中的项目 | 允许应用在没有登录用户的情况下创建、读取、更新和删除所有网站集中的文档和列表项。 | 是 |
Sites.Manage.All | 具有对所有网站集的完全控制权限 | 允许应用在没有登录用户的情况下管理和创建所有网站集中的列表、文档和列表项。 | 是 |
Sites.FullControl.All | 创建、编辑和删除所有网站集中的项目和列表 | 允许应用在没有登录用户的情况下具有对所有网站集中的 SharePoint 网站的完全控制权限。 | 是 |
注解
站点权限仅对工作或学校帐户有效。
用法示例
委托
- Sites.Read.All:读取 SharePoint 根网站上的列表 (
GET /v1.0/sites/root/lists
) - Sites.ReadWrite.All:创建 SharePoint 列表中的新列表项 (
POST /v1.0/sites/root/lists/123/items
) - Sites.Manage.All:将新列表添加到 SharePoint 网站 (
POST /v1.0/sites/root/lists
) - Sites.FullControl.All:完整访问 SharePoint 网站和列表。