按名称获取特殊文件夹
使用特殊集合可以按名称访问特殊文件夹。
特殊文件夹可以提供简单别名来访问 OneDrive 中的已知文件夹,无需按路径查找(需要本地化)或通过 ID 引用文件夹。 如果特殊文件夹被重命名或移到驱动器中的其他位置,此语法将继续查找该文件夹。
应用程序第一次尝试向特殊文件夹中写入内容时,如果特殊文件夹不存在,系统会自动创建特殊文件夹。 如果用户删除某个特殊文件夹,再次向其写入内容时会重新创建特殊文件夹。
注意: 如果具有只读权限并请求不存在的特殊文件夹,则会收到错误
403 Forbidden
。
权限
调用此 API 需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限。
权限类型 | 权限(从最低特权到最高特权) |
---|---|
委派(工作或学校帐户) | Files.Read、Files.ReadWrite、Files.Read.All、Files.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.All |
委派(个人 Microsoft 帐户) | Files.ReadWrite.AppFolder、Files.Read、Files.ReadWrite、Files.Read.All、Files.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.All |
应用程序 | Files.Read.All、Files.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.All |
HTTP 请求
GET /me/drive/special/{special-folder-name}
特殊文件夹名称
以下是 OneDrive 和 OneDrive for Business 中可用的特殊文件夹名称。
名称 | 文件夹 ID | 说明 |
---|---|---|
应用根目录 | approot |
应用程序的个人文件夹。 通常位于 /Apps/{Application Name} 中 |
本机照片 | cameraroll |
“本机照片备份”文件夹。 |
桌面 | desktop |
桌面文件夹。 |
Documents | documents |
“文档”文件夹。 |
Music | music |
“音乐”文件夹。 |
Photos | photos |
“照片”文件夹。 |
可选的查询参数
此方法支持 $expand
和 $select
OData 查询参数 来自定义响应。
HTTP 响应
此方法在响应正文中返回 200 OK
响应代码和 driveItem 对象。
可以将此处理特殊文件夹内联的方法与对 driveItem 上的属性或关系的其他调用结合使用。
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "0123456789abc",
"name": "Documents",
"eTag": "012345819293.1",
"specialFolder": {
"name": "documents"
}
}
获取特殊文件夹的子文件夹
若要请求特殊文件夹的子文件夹,则可以请求 children
集合,或使用 expand 选项展开子集合。
HTTP 请求
GET /me/drive/special/{special-folder-name}/children
HTTP 响应
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{"name": "myfile.jpg", "size": 2048 },
{"name": "Documents", "folder": { "childCount": 4} },
{"name": "Photos", "folder": { "childCount": 203} },
{"name": "my sheet(1).xlsx", "size": 197 }
]
}
说明
注意:带有
specialFolder
facet 的 DriveItem 指示项目是特殊文件夹,且可以通过special
集合访问。
如果应用拥有只读权限,且特殊文件夹尚不存在,那么可能无法请求获取特殊文件夹或其子项,响应为 404 Not Found
或 403 Forbidden
错误。