应用文件夹是应用的专用特殊文件夹。
应用文件夹通常以应用命名,位于用户 OneDrive 的“应用”文件夹中。
如果请求获取 Files.ReadWrite.AppFolder 权限作用域,且已获得用户授权,那么应用将获取对此文件夹的读取和写入权限。
由于应用文件夹的行为方式与用户 OneDrive 中的其他任何文件夹一样,因此用户可以在其中添加、修改和删除内容。 应用无需维护允许用户重命名或移动应用文件夹的用户专属逻辑。
获取用户授权
必须在获取访问令牌时请求获取 Files.ReadWrite.AppFolder 或 Files.ReadWrite 权限作用域,才能拥有自己的应用文件夹。
有关详细信息,请参阅身份验证。
创建应用文件夹
当应用使用特殊文件夹命名空间首次调用应用文件夹时,OneDrive 会在位于用户 OneDrive 根目录的用户“Apps”文件夹中创建应用文件夹。
以下是应用首次创建应用文件夹时最常执行的调用。
-
获取应用文件夹的元数据:
GET /drive/special/approot -
列出应用文件夹子项:
GET /drive/special/approot/children -
在 approot 下创建文件夹:
POST /drive/special/approot/children -
创建上传会话:
POST /drive/special/approot:/{filename}:/createUploadSession -
上传项内容:
PUT /drive/special/approot:/{fileName}:/content -
上传项内容(不含元数据):
POST /drive/special/approot/children -
通过 URL 上传项内容:
POST /drive/special/approot/children
命名应用文件夹
创建应用文件夹时,OneDrive 会使用当时针对调用应用 ID 设置的应用名称。可以在 Azure 应用注册页面中更改应用文件夹名称。 如果选择这样做,可以转到 Azure 应用注册页面并修改应用的本地化设置,从而本地化应用文件夹名称。 在“Azure 应用注册”页中更改应用的文件夹名称不会重命名与应用关联的现有特殊文件夹。
使用应用文件夹
应用文件夹支持所有标准 item 操作。
| 常见任务 | HTTP 方法(按路径) |
|---|---|
| 获取项的元数据 | GET /drive/special/approot:/{path} |
| 列出项的子项 | GET /drive/special/approot:/{path}:/children |
| 创建项 | PUT /drive/special/approot:/{parent-path}/{name} |
| 上传项内容 | PUT /drive/special/approot:/{parent-path}/{name}:/content |
| 更新项内容 | PATCH /drive/special/approot:/{path} |
| 删除项 | DELETE /drive/special/approot:/{path} |
| 移动项 | PATCH /drive/special/approot:/{path} |
| 复制项 | POST /drive/special/approot:/{path}:/action.copy |
| 下载项内容 | GET /drive/special/approot:/{path}:/content |
| 下载特定格式文件 | GET /drive/special/approot:/{path}:/content?format={format} |
| 搜索项 | GET /drive/special/approot:/{path}:/search |
| 查看项变更 | GET /drive/special/approot:/{path}:/delta |
| 获取项的缩略图 | GET /drive/special/approot:/{path}:/thumbnails |