帮你快速理解、总结文档立即下载

空间管理

最近更新时间:2026-09-30 16:51:31
我的收藏

前期准备

开始操作前,确保您已经完成了 SDK 初始化。如果您还没有初始化 SDK,请先参考快速入门文档完成。
注意:
创建租户空间需要 admin 或 create_space 权限。
列出所有租户空间需要 admin 权限,否则仅列出当前访问令牌所代表的用户所创建的租户空间。
修改租户空间属性需要 admin 或 space_admin 权限(非 acl 鉴权)。
删除租户空间需要 admin 或 delete_space 权限。

创建租户空间

功能说明
createSpace 用于创建租户空间。可以设置空间的公有读属性、多相簿模式、允许上传的文件类型、敏感内容检测等扩展属性。
使用示例
import com.tencent.cloud.smh.ApiException;
import com.tencent.cloud.smh.ApiResponse;
import com.tencent.cloud.smh.api.SpaceApi;
import com.tencent.cloud.smh.model.CreateSpaceRequest;
import com.tencent.cloud.smh.model.CreateSpace201Response;

CreateSpaceRequest spaceBody = new CreateSpaceRequest();
spaceBody.setIsPublicRead(true);
spaceBody.setAllowPhoto(true);
spaceBody.setAllowVideo(true);

try {
SpaceApi.APICreateSpaceRequest request = SpaceApi.APICreateSpaceRequest.newBuilder()
.libraryId("your-library-id")
.accessToken("your-access-token")
.userId("user-id")
.spaceId("custom-space-id")
.createSpaceRequest(spaceBody)
.build();

ApiResponse<Object> apiResponse = client.space().createSpaceWithHttpInfo(request);
int statusCode = apiResponse.getStatusCode();
System.out.println("Status code: " + statusCode);

if (statusCode == 201) {
CreateSpace201Response result = (CreateSpace201Response) apiResponse.getData();
System.out.println("Space created, ID: " + result.getSpaceId());
}
} catch (ApiException e) {
System.err.println("Error: " + e.getCode() + " - " + e.getMessage());
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
String
是
accessToken
访问令牌;对于公有读媒体库或租户空间可不指定,否则需通过本参数传入或提前调用 client.withToken() 注入,二者取一
String
否
userId
用户身份识别
String
否
spaceId
自定义租户空间 ID,名称不能以"-"开头或结尾,只支持英文小写字母和数字[a-z,0-9]、中划线"-"及其组合,长度为2~32个字符
String
否
createSpaceRequest
租户空间的扩展属性
CreateSpaceRequest
否
createSpaceRequest 对象说明
字段
参数描述
类型
是否必填
isPublicRead
是否为公有读,默认 false
Boolean
否
isMultiAlbum
是否为多相簿空间,默认 false
Boolean
否
allowPhoto
是否允许上传照片,默认 false
Boolean
否
allowVideo
是否允许上传视频,默认 false
Boolean
否
allowPhotoExtname
允许上传的照片扩展名列表
List<String>
否
allowVideoExtname
允许上传的视频扩展名列表
List<String>
否
recognizeSensitiveContent
是否检测敏感内容,默认 false
Boolean
否
spaceTag
空间标识,区分个人/团队空间
String
否
返回值说明
HTTP 状态码:201
创建成功,返回空间 ID。
响应字段说明
字段
说明
类型
spaceId
新创建的租户空间的空间 ID
String

列出租户空间

功能说明
listSpace 用于列出租户空间列表信息。支持分页查询。
使用示例
import com.tencent.cloud.smh.ApiException;
import com.tencent.cloud.smh.ApiResponse;
import com.tencent.cloud.smh.api.SpaceApi;
import com.tencent.cloud.smh.model.ListSpace200Response;

try {
SpaceApi.APIListSpaceRequest request = SpaceApi.APIListSpaceRequest.newBuilder()
.libraryId("your-library-id")
.accessToken("your-access-token")
.userId("user-id")
.limit(10)
.build();

ApiResponse<Object> apiResponse = client.space().listSpaceWithHttpInfo(request);
int statusCode = apiResponse.getStatusCode();
System.out.println("Status code: " + statusCode);

if (statusCode == 200) {
ListSpace200Response result = (ListSpace200Response) apiResponse.getData();
for (var space : result.getList()) {
System.out.println("Space ID: " + space.getSpaceId()
+ ", Created by: " + space.getUserId()
+ ", Created at: " + space.getCreationTime());
}
}
} catch (ApiException e) {
System.err.println("Error: " + e.getCode() + " - " + e.getMessage());
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
String
是
accessToken
访问令牌;对于公有读媒体库或租户空间可不指定,否则需通过本参数传入或提前调用 client.withToken() 注入,二者取一
String
否
userId
用户身份识别
String
否
marker
用于顺序列出分页的标识
String
否
limit
每页项目数限制,默认1000,最大1000
Integer
否
ordered
是否启用全局有序列出(按 spaceId 升序),取值为1表示启用,0或不传表示不启用;启用后 prefix 与 startName 才会生效
Integer
否
prefix
按 spaceId 前缀过滤,仅返回 spaceId 以该前缀开头的租户空间;仅在 ordered = 1 时生效
String
否
startName
分页起始游标(不包含),仅返回 spaceId 大于 startName 的租户空间;仅在 ordered = 1时生效;当与 marker 同时传入时 marker 优先,startName 会被忽略
String
否
返回值说明
HTTP 状态码:200
获取成功。
响应字段说明
字段
说明
类型
list
租户空间列表
List<ListSpace200ResponseListInner>
marker
用于顺序列出分页的标识
String

查询租户空间属性

功能说明
getSpaceExtension 用于查询租户空间的扩展属性。
使用示例
import com.tencent.cloud.smh.ApiException;
import com.tencent.cloud.smh.ApiResponse;
import com.tencent.cloud.smh.api.SpaceApi;
import com.tencent.cloud.smh.model.GetSpaceExtension200Response;

try {
SpaceApi.APIGetSpaceExtensionRequest request = SpaceApi.APIGetSpaceExtensionRequest.newBuilder()
.libraryId("your-library-id")
.spaceId("your-space-id")
.accessToken("your-access-token")
.userId("user-id")
.build();

ApiResponse<Object> apiResponse = client.space().getSpaceExtensionWithHttpInfo(request);
int statusCode = apiResponse.getStatusCode();
System.out.println("Status code: " + statusCode);

if (statusCode == 200) {
GetSpaceExtension200Response result = (GetSpaceExtension200Response) apiResponse.getData();
System.out.println("Public read: " + result.getIsPublicRead());
System.out.println("Allow photo: " + result.getAllowPhoto());
System.out.println("Allow video: " + result.getAllowVideo());
System.out.println("Recognize sensitive content: " + result.getRecognizeSensitiveContent());
}
} catch (ApiException e) {
System.err.println("Error: " + e.getCode() + " - " + e.getMessage());
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
String
是
spaceId
空间 ID
String
是
accessToken
访问令牌;对于公有读媒体库或租户空间可不指定,否则需通过本参数传入或提前调用 client.withToken() 注入,二者取一
String
否
userId
用户身份识别
String
否
返回值说明
HTTP 状态码:200
获取成功,返回空间扩展属性(isPublicRead、allowPhoto、allowVideo、recognizeSensitiveContent 等)。
响应字段说明
字段
说明
类型
isPublicRead
是否为公有读
Boolean
allowPhoto
是否允许上传照片
Boolean
allowVideo
是否允许上传视频
Boolean
recognizeSensitiveContent
是否检测敏感内容
Boolean
spaceTag
空间标识
String

修改租户空间属性

功能说明
updateSpaceExtension 用于修改租户空间属性。需要 admin 或 space_admin 权限。
使用示例
import com.tencent.cloud.smh.ApiException;
import com.tencent.cloud.smh.ApiResponse;
import com.tencent.cloud.smh.api.SpaceApi;
import com.tencent.cloud.smh.model.UpdateSpaceExtensionRequest;

UpdateSpaceExtensionRequest extBody = new UpdateSpaceExtensionRequest();
extBody.setIsPublicRead(true);
extBody.setAllowPhoto(true);
extBody.setRecognizeSensitiveContent(true);

try {
SpaceApi.APIUpdateSpaceExtensionRequest request = SpaceApi.APIUpdateSpaceExtensionRequest.newBuilder()
.libraryId("your-library-id")
.spaceId("your-space-id")
.accessToken("your-access-token")
.userId("user-id")
.updateSpaceExtensionRequest(extBody)
.build();

ApiResponse<Object> apiResponse = client.space().updateSpaceExtensionWithHttpInfo(request);
System.out.println("Status code: " + apiResponse.getStatusCode());
System.out.println("Space extension updated");
} catch (ApiException e) {
System.err.println("Error: " + e.getCode() + " - " + e.getMessage());
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
String
是
spaceId
空间 ID
String
是
accessToken
访问令牌;对于公有读媒体库或租户空间可不指定,否则需通过本参数传入或提前调用 client.withToken() 注入,二者取一
String
否
userId
用户身份识别
String
否
updateSpaceExtensionRequest
租户空间的扩展属性
UpdateSpaceExtensionRequest
是
updateSpaceExtensionRequest 对象说明
字段
参数描述
类型
是否必填
isPublicRead
是否为公有读
Boolean
否
allowPhoto
是否允许上传照片(媒体类型媒体库)
Boolean
否
allowVideo
是否允许上传视频(媒体类型媒体库)
Boolean
否
allowPhotoExtname
允许的照片扩展名(媒体类型媒体库)
List<String>
否
allowVideoExtname
允许的视频扩展名(媒体类型媒体库)
List<String>
否
allowFileExtname
允许的文件扩展名(非媒体类型媒体库)
List<String>
否
recognizeSensitiveContent
是否检测敏感内容
Boolean
否
spaceTag
空间标识;传入字符串更新,传入 null 清除,不传保持原值
String
否
返回值说明
HTTP 状态码:204
修改成功,无响应体。

列出空间首页内容

功能说明
getContentsView 用于列出空间首页内容,会忽略目录的层级关系,列出空间下所有文件。
使用示例
import com.tencent.cloud.smh.ApiException;
import com.tencent.cloud.smh.ApiResponse;
import com.tencent.cloud.smh.api.SpaceApi;
import com.tencent.cloud.smh.model.GetContentsView200Response;

try {
SpaceApi.APIGetContentsViewRequest request = SpaceApi.APIGetContentsViewRequest.newBuilder()
.libraryId("your-library-id")
.spaceId("your-space-id")
.accessToken("your-access-token")
.userId("user-id")
.filter("onlyFile")
.limit(20)
.withPath(true)
.build();

ApiResponse<Object> apiResponse = client.space().getContentsViewWithHttpInfo(request);
int statusCode = apiResponse.getStatusCode();
System.out.println("Status code: " + statusCode);

if (statusCode == 200) {
GetContentsView200Response result = (GetContentsView200Response) apiResponse.getData();
for (var content : result.getContents()) {
System.out.println("Name: " + content.getName()
+ ", Type: " + content.getType()
+ ", Size: " + content.getSize());
}
}
} catch (ApiException e) {
System.err.println("Error: " + e.getCode() + " - " + e.getMessage());
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
String
是
spaceId
空间 ID
String
是
filter
筛选方式:onlyDir、onlyFile
String
是
marker
用于顺序列出分页的标识
String
否
limit
分页限制
Integer
否
orderBy
排序字段:name(默认)、modificationTime、size、creationTime、uploadTime、localCreationTime、localModificationTime
String
否
orderByType
排序方式:asc、desc
String
否
withPath
是否返回 path,默认 false
Boolean
否
accessToken
访问令牌;对于公有读媒体库或租户空间可不指定,否则需通过本参数传入或提前调用 client.withToken() 注入,二者取一
String
否
userId
用户身份识别
String
否
category
文件自定义分类
String
否
返回值说明
HTTP 状态码:200
获取成功,返回 nextMarker 和 contents 数组。
contents 数组元素字段说明
字段
类型
说明
name
String
目录、相簿或文件的名称
path
List<String>
文件路径,仅 withPath 为 true 时返回
inode
String
文件或目录 ID
type
String
类型:dir(目录)、file(文件)、image(照片)、video(视频)、symlink(符号链接)、virtual(虚拟文件)
creationTime
OffsetDateTime
创建时间(目录、相簿)或上传时间(文件)
modificationTime
OffsetDateTime
修改时间(目录、相簿)或最近一次覆盖时间(文件)
versionId
Integer
历史版本 ID,仅操作历史版本时返回
contentType
String
媒体类型
size
String
文件大小,字符串格式
eTag
String
文件 ETag
crc64
String
文件 CRC64-ECMA182 校验值
metaData
Map<String, String>
文件元数据键值对
previewByDoc
Boolean
是否支持文档预览(WPS)
previewByCI
Boolean
是否支持数据万象预览
previewAsIcon
Boolean
是否支持缩略图预览
fileType
String
文件类型分类(如 excel、powerpoint 等)
labels
List<String>
文件或目录的简易标签
category
String
文件自定义分类
localCreationTime
OffsetDateTime
文件本地创建时间,仅文件返回
localModificationTime
OffsetDateTime
文件本地修改时间,仅文件返回

空间文件数量统计

功能说明
getFileCountInSpace 用于空间文件数量统计。需要 admin 或 space_admin 权限。
使用示例
import com.tencent.cloud.smh.ApiException;
import com.tencent.cloud.smh.ApiResponse;
import com.tencent.cloud.smh.api.SpaceApi;
import com.tencent.cloud.smh.model.GetFileCountInSpace200Response;

try {
SpaceApi.APIGetFileCountInSpaceRequest request = SpaceApi.APIGetFileCountInSpaceRequest.newBuilder()
.libraryId("your-library-id")
.spaceId("your-space-id")
.accessToken("your-access-token")
.build();

ApiResponse<Object> apiResponse = client.space().getFileCountInSpaceWithHttpInfo(request);
int statusCode = apiResponse.getStatusCode();
System.out.println("Status code: " + statusCode);

if (statusCode == 200) {
GetFileCountInSpace200Response result = (GetFileCountInSpace200Response) apiResponse.getData();
System.out.println("Total files: " + result.getFileNum());
System.out.println("Total directories: " + result.getDirNum());
System.out.println("Recycled files: " + result.getRecycledFileNum());
System.out.println("Recycled directories: " + result.getRecycledDirNum());
System.out.println("History files: " + result.getHistoryFileNum());
}
} catch (ApiException e) {
System.err.println("Error: " + e.getCode() + " - " + e.getMessage());
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
String
是
spaceId
空间 ID
String
是
accessToken
访问令牌;对于公有读媒体库或租户空间可不指定,否则需通过本参数传入或提前调用 client.withToken() 注入,二者取一
String
否
返回值说明
HTTP 状态码:200
获取成功。
响应字段说明
字段
说明
类型
fileNum
总文件数量,字符串格式
String
dirNum
总文件夹数量,字符串格式
String
recycledFileNum
回收站文件数量,字符串格式
String
recycledDirNum
回收站文件夹数量,字符串格式
String
historyFileNum
历史版本文件数量,字符串格式
String

删除租户空间

功能说明
deleteSpace 用于删除租户空间。需要 admin 或 delete_space 权限。
使用示例
import com.tencent.cloud.smh.ApiException;
import com.tencent.cloud.smh.ApiResponse;
import com.tencent.cloud.smh.api.SpaceApi;

try {
SpaceApi.APIDeleteSpaceRequest request = SpaceApi.APIDeleteSpaceRequest.newBuilder()
.libraryId("your-library-id")
.spaceId("space-to-delete")
.accessToken("your-access-token")
.userId("user-id")
.force(0)
.build();

ApiResponse<Object> apiResponse = client.space().deleteSpaceWithHttpInfo(request);
System.out.println("Status code: " + apiResponse.getStatusCode());
System.out.println("Space deleted successfully");
} catch (ApiException e) {
System.err.println("Error: " + e.getCode() + " - " + e.getMessage());
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
String
是
spaceId
空间 ID
String
是
accessToken
访问令牌;对于公有读媒体库或租户空间可不指定,否则需通过本参数传入或提前调用 client.withToken() 注入,二者取一
String
否
userId
用户身份识别
String
否
force
是否强制删除,0: 非强制(默认),1: 强制
Integer
否
返回值说明
HTTP 状态码:204
删除成功,无响应体。

查询媒体库租户空间数量

功能说明
getLibrarySpaceCount 用于查询媒体库中的租户空间数量。
使用示例
import com.tencent.cloud.smh.ApiException;
import com.tencent.cloud.smh.ApiResponse;
import com.tencent.cloud.smh.api.SpaceApi;
import com.tencent.cloud.smh.model.GetLibrarySpaceCount200Response;

try {
SpaceApi.APIGetLibrarySpaceCountRequest request = SpaceApi.APIGetLibrarySpaceCountRequest.newBuilder()
.libraryId("your-library-id")
.accessToken("your-access-token")
.userId("user-id")
.build();

ApiResponse<Object> apiResponse = client.space().getLibrarySpaceCountWithHttpInfo(request);
int statusCode = apiResponse.getStatusCode();
System.out.println("Status code: " + statusCode);

if (statusCode == 200) {
GetLibrarySpaceCount200Response result = (GetLibrarySpaceCount200Response) apiResponse.getData();
System.out.println("Total spaces: " + result.getTotal());
}
} catch (ApiException e) {
System.err.println("Error: " + e.getCode() + " - " + e.getMessage());
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
String
是
accessToken
访问令牌;对于公有读媒体库或租户空间可不指定,否则需通过本参数传入或提前调用 client.withToken() 注入,二者取一
String
否
userId
用户身份识别
String
否
返回值说明
HTTP 状态码:200
获取成功。
响应字段说明
字段
说明
类型
total
租户空间数量
Integer

查询租户空间大小

功能说明
getSpaceSize 用于查询租户空间大小。
使用示例
import com.tencent.cloud.smh.ApiException;
import com.tencent.cloud.smh.ApiResponse;
import com.tencent.cloud.smh.api.SpaceApi;
import com.tencent.cloud.smh.model.GetSpaceSize200Response;

try {
SpaceApi.APIGetSpaceSizeRequest request = SpaceApi.APIGetSpaceSizeRequest.newBuilder()
.libraryId("your-library-id")
.spaceId("your-space-id")
.accessToken("your-access-token")
.userId("user-id")
.build();

ApiResponse<Object> apiResponse = client.space().getSpaceSizeWithHttpInfo(request);
int statusCode = apiResponse.getStatusCode();
System.out.println("Status code: " + statusCode);

if (statusCode == 200) {
GetSpaceSize200Response result = (GetSpaceSize200Response) apiResponse.getData();
System.out.println("Space size: " + result.getSize() + " bytes");
}
} catch (ApiException e) {
System.err.println("Error: " + e.getCode() + " - " + e.getMessage());
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
String
是
spaceId
空间 ID
String
是
accessToken
访问令牌;对于公有读媒体库或租户空间可不指定,否则需通过本参数传入或提前调用 client.withToken() 注入,二者取一
String
否
userId
用户身份识别
String
否
返回值说明
HTTP 状态码:200
获取成功。
响应字段说明
字段
说明
类型
size
租户空间大小(单位:字节),字符串格式
String

设置租户空间限速

功能说明
setSpaceTrafficLimit 用于设置租户空间的下载限速。需要 admin 或 space_admin 权限。
使用示例
import com.tencent.cloud.smh.ApiException;
import com.tencent.cloud.smh.ApiResponse;
import com.tencent.cloud.smh.api.SpaceApi;
import com.tencent.cloud.smh.model.SetSpaceTrafficLimitRequest;

SetSpaceTrafficLimitRequest limitBody = new SetSpaceTrafficLimitRequest();
limitBody.setDownloadTrafficLimit(10485760); // 10MB/s

try {
SpaceApi.APISetSpaceTrafficLimitRequest request = SpaceApi.APISetSpaceTrafficLimitRequest.newBuilder()
.libraryId("your-library-id")
.spaceId("your-space-id")
.accessToken("your-access-token")
.setSpaceTrafficLimitRequest(limitBody)
.build();

ApiResponse<Object> apiResponse = client.space().setSpaceTrafficLimitWithHttpInfo(request);
System.out.println("Status code: " + apiResponse.getStatusCode());
System.out.println("Traffic limit set successfully");
} catch (ApiException e) {
System.err.println("Error: " + e.getCode() + " - " + e.getMessage());
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
String
是
spaceId
空间 ID
String
是
accessToken
访问令牌;对于公有读媒体库或租户空间可不指定,否则需通过本参数传入或提前调用 client.withToken() 注入,二者取一
String
否
setSpaceTrafficLimitRequest
限速设置对象
SetSpaceTrafficLimitRequest
是
setSpaceTrafficLimitRequest 对象说明
字段
参数描述
类型
是否必填
downloadTrafficLimit
空间下载限速,范围 100KB/s-100MB/s(102400 - 104857600字节),输入 -1 表示取消限速
Integer
是
返回值说明
HTTP 状态码:204
修改成功,无响应体。