恢复指定回收站项目(批量)

最近更新时间:2025-10-24 15:25:21

我的收藏

功能描述

用于恢复指定回收站项目(批量)。
说明:
要求权限:admin、space_admin 或 restore_recycled。有关权限详情请参见 生成访问令牌接口
恢复项目时需保证该项目所在的目录存在。
恢复项目时如果有同名文件存在,则默认重命名文件。

请求

请求示例

POST /api/v1/recycled/{LibraryId}/{SpaceId}?restore&access_token={AccessToken}&user_id={UserId}

请求参数

请求参数
描述
类型
是否必选
LibraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
SpaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
AccessToken
访问令牌,获取请参见 生成访问令牌
String
UserId
用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅 生成访问令牌接口
String
RestorePathStrategy
恢复项目源路径的处理方式,默认为 originalPath,包含以下内容:
originalPath:恢复到原始路径,原始路径不存在则报错
fallbackToRoot:恢复到原始路径,原始路径不存在则恢复到根目录
String

请求体

application/json,批量恢复的 recycledItemId 集合。
请求体示例:
[ 1, 2, 3, 4, 5 ]
请求体为数组,必填参数。

响应

响应码

执行成功
当项目较多以异步方式恢复时,返回 HTTP 202 Accepted。
当项目较少以同步方式恢复时,返回 HTTP 200 OK(全部执行成功)或 HTTP 207 Multi-Status(存在部分或全部执行失败)。

响应体

application/json
响应体示例:
返回 HTTP 200 OK 或 HTTP 207 Multi-Status 时:
{
"result": [
{
"status": 200,
"path": [ "foo", "bar", "file (1).docx" ],
"recycledItemId": 1
},
{
"status": 404,
"code": "RecycledItemNotFound", // 文件不存在
"message": "Recycled item not found.",
"recycledItemId": 2
},
{
"status": 404,
"code": "DirectoryNotFound", // 父目录不存在
"message": "Directory not found.",
"recycledItemId": 3
},
{
"status": 200, // 目标目录已存在进行恢复时会自动创建一个新目录
"path": [ "foo", "new_directory" ],
"recycledItemId": 4
},
{
"status": 404,
"code": "SourceFileNotFound", // 符号链接指向的源文件不存在
"message": "Source file not found.",
"recycledItemId": 5
}
]
}
返回 HTTP 202 Accepted 时:
{ "taskId": 20 }
[
{
"taskId": 20,
"status": 200,
"result": [
{ "status": 200, "path": [ "foo", "bar", "file (2).docx" ], "recycledItemId": 6 }
]
}
]
响应体字段说明:
响应参数
描述
类型
result.status
状态
200:恢复成功
其他:恢复失败
String
result.path
表示最终的文件路径
String Array
result.recycledItemId
发起请求时传入的回收站项目 ID
String
taskId
异步方式恢复时的任务 ID,可通过查询任务接口查询任务状态
String
查询任务响应体字段说明:
响应参数
描述
类型
status
状态
202:任务进行中
200:全部执行成功
207:存在部分或全部执行失败
String

错误码

该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。