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

空间管理

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

前期准备

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

创建租户空间

功能说明
CreateSpace 用于创建租户空间。可以设置空间的公有读属性、多相簿模式、允许上传的文件类型、敏感内容检测等扩展属性。
使用示例
ctx := context.Background()

createReq := client.NewCreateSpaceRequest()
createReq.SetSpaceTag("test-tag")

resp, httpRes, err := apiClient.SpaceAPI.CreateSpace(ctx, "your-library-id").
AccessToken("your-access-token").
UserId("user-id").
CreateSpaceRequest(*createReq).
Execute()

if err != nil {
panic(err)
}
fmt.Printf("Space created with ID: %s\\n", *resp.SpaceId)
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
string
是
spaceId
租户空间 ID,2-32 个字符,仅支持小写字母、数字和中划线(-),不指定则自动生成
string
否
accessToken
访问令牌
string
否
userId
用户身份识别
string
否
createSpaceRequest
租户空间的扩展属性
CreateSpaceRequest
否
createSpaceRequest 对象说明
字段
参数描述
类型
是否必填
IsPublicRead
是否为公有读,默认 false
bool
否
IsMultiAlbum
是否为多相簿空间,默认 false
bool
否
AllowPhoto
是否允许上传照片,默认 false
bool
否
AllowVideo
是否允许上传视频,默认 false
bool
否
AllowPhotoExtname
允许上传的照片扩展名列表
[]string
否
AllowVideoExtname
允许上传的视频扩展名列表
[]string
否
RecognizeSensitiveContent
是否检测敏感内容,默认 false
bool
否
SpaceTag
空间标识,区分个人/团队空间
string
否
返回值说明
HTTP 状态码:201
创建成功,返回空间 ID。
响应字段说明
字段
说明
类型
spaceId
新创建的租户空间的空间 ID
String

列出租户空间

功能说明
ListSpace 用于列出租户空间列表信息。支持分页查询。
使用示例
ctx := context.Background()

resp, httpRes, err := apiClient.SpaceAPI.ListSpace(ctx, "your-library-id").
AccessToken("your-access-token").
UserId("user-id").
Execute()

if err != nil {
panic(err)
}
fmt.Printf("Total spaces: %d\\n", len(resp.List))
for _, space := range resp.List {
fmt.Printf("Space ID: %s, User: %s, Created: %s\\n",
space.SpaceId, space.UserId, space.CreationTime)
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
string
是
accessToken
访问令牌
string
否
userId
用户身份识别
string
否
marker
用于顺序列出分页的标识
string
否
limit
每页项目数限制,默认 1000,最大 1000
int32
否
ordered
是否启用全局有序列出(按 spaceId 升序),取值为 1 表示启用,0 或不传表示不启用;启用后 prefix 与 startName 才会生效
int32
否
prefix
按 spaceId 前缀过滤,仅返回 spaceId 以该前缀开头的租户空间;仅在 ordered=1 时生效
string
否
startName
分页起始游标(不包含),仅返回 spaceId 大于 startName 的租户空间;仅在 ordered=1 时生效;当与 marker 同时传入时 marker 优先,startName 会被忽略
string
否
返回值说明
HTTP 状态码:200
获取成功。
响应字段说明
字段
说明
类型
list
租户空间列表
Array
marker
用于顺序列出分页的标识
String

查询租户空间属性

功能说明
GetSpaceExtension 用于查询租户空间的扩展属性。
使用示例
ctx := context.Background()

resp, httpRes, err := apiClient.SpaceAPI.GetSpaceExtension(ctx, "your-library-id", "your-space-id").
AccessToken("your-access-token").
UserId("user-id").
Execute()

if err != nil {
panic(err)
}
fmt.Printf("Space extension properties:\\n")
if resp.HasSpaceTag() {
fmt.Printf("Space tag: %s\\n", resp.GetSpaceTag())
}
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
string
是
spaceId
空间 ID
string
是
accessToken
访问令牌
string
否
userId
用户身份识别
string
否
返回值说明
HTTP 状态码:200
获取成功,返回空间扩展属性(isPublicRead、allowPhoto、allowVideo 等)。

修改租户空间属性

功能说明
UpdateSpaceExtension 用于修改租户空间属性。需要 admin 或 space_admin 权限。
使用示例
ctx := context.Background()

updateReq := client.NewUpdateSpaceExtensionRequest()
updateReq.SetIsPublicRead(true)

httpRes, err := apiClient.SpaceAPI.UpdateSpaceExtension(ctx, "your-library-id", "your-space-id").
AccessToken("your-access-token").
UserId("user-id").
UpdateSpaceExtensionRequest(*updateReq).
Execute()

if err != nil {
panic(err)
}
fmt.Printf("Space extension updated successfully: %d\\n", httpRes.StatusCode)
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
string
是
spaceId
空间 ID
string
是
accessToken
访问令牌
string
否
userId
用户身份识别
string
否
updateSpaceExtensionRequest
租户空间的扩展属性
UpdateSpaceExtensionRequest
否
updateSpaceExtensionRequest 对象说明
字段
参数描述
类型
是否必填
IsPublicRead
是否为公有读
*bool
否
IsMultiAlbum
是否为多相簿空间(媒体类型媒体库)
*bool
否
AllowPhoto
是否允许上传照片(媒体类型媒体库)
*bool
否
AllowVideo
是否允许上传视频(媒体类型媒体库)
*bool
否
AllowPhotoExtname
允许的照片扩展名(媒体类型媒体库)
[]string
否
AllowVideoExtname
允许的视频扩展名(媒体类型媒体库)
[]string
否
AllowFileExtname
允许的文件扩展名(非媒体类型媒体库)
[]string
否
RecognizeSensitiveContent
是否检测敏感内容
*bool
否
SpaceTag
空间标识;传入字符串更新,传入 null 清除,不传保持原值
NullableString
否
返回值说明
HTTP 状态码:204
修改成功,无响应体。

列出空间首页内容

功能说明
GetContentsView 用于列出空间首页内容,会忽略目录的层级关系,列出空间下所有文件。
使用示例
ctx := context.Background()

resp, httpRes, err := apiClient.SpaceAPI.GetContentsView(ctx, "your-library-id", "your-space-id").
AccessToken("your-access-token").
UserId("user-id").
Filter("onlyFile").
Execute()

if err != nil {
panic(err)
}
fmt.Printf("Total files: %d\\n", len(resp.Contents))
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
string
是
spaceId
空间 ID
string
是
filter
筛选方式:onlyDir、onlyFile
string
是
marker
用于顺序列出分页的标识
string
否
limit
分页限制
int32
否
orderBy
排序字段:name(默认)、modificationTime、size、creationTime、uploadTime、localCreationTime、localModificationTime
string
否
orderByType
排序方式:asc、desc
string
否
withPath
是否返回 path,默认 false
bool
否
accessToken
访问令牌
string
否
userId
用户身份识别
string
否
category
文件自定义分类
string
否
返回值说明
HTTP 状态码:200
获取成功,返回 nextMarker 和 contents 数组。

空间文件数量统计

功能说明
GetFileCountInSpace 用于空间文件数量统计。需要 admin 或 space_admin 权限。
使用示例
ctx := context.Background()

resp, httpRes, err := apiClient.SpaceAPI.GetFileCountInSpace(ctx, "your-library-id", "your-space-id").
AccessToken("your-access-token").
Execute()

if err != nil {
panic(err)
}
fmt.Printf("File count statistics:\\n")
fmt.Printf("Total files: %s\\n", resp.FileNum)
fmt.Printf("Total directories: %s\\n", resp.DirNum)
fmt.Printf("Recycled files: %s\\n", resp.RecycledFileNum)
fmt.Printf("Recycled directories: %s\\n", resp.RecycledDirNum)
fmt.Printf("History files: %s\\n", resp.HistoryFileNum)
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
string
是
spaceId
空间 ID
string
是
accessToken
访问令牌
string
否
返回值说明
HTTP 状态码:200
获取成功。
响应字段说明
字段
说明
类型
fileNum
总文件数量,字符串格式
String
dirNum
总文件夹数量,字符串格式
String
recycledFileNum
回收站文件数量,字符串格式
String
recycledDirNum
回收站文件夹数量,字符串格式
String
historyFileNum
历史版本文件数量,字符串格式
String

删除租户空间

功能说明
DeleteSpace 用于删除租户空间。需要 admin 或 delete_space 权限。
使用示例
ctx := context.Background()

httpRes, err := apiClient.SpaceAPI.DeleteSpace(ctx, "your-library-id", "your-space-id").
AccessToken("your-access-token").
UserId("user-id").
Execute()

if err != nil {
panic(err)
}
fmt.Printf("Space deleted successfully: %d\\n", httpRes.StatusCode)
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
string
是
spaceId
空间 ID
string
是
accessToken
访问令牌
string
否
userId
用户身份识别
string
否
force
是否强制删除,0: 非强制(默认),1: 强制
int32
否
返回值说明
HTTP 状态码:204
删除成功,无响应体。

查询媒体库租户空间数量

功能说明
GetLibrarySpaceCount 用于查询媒体库中的租户空间数量。
使用示例
ctx := context.Background()

resp, httpRes, err := apiClient.SpaceAPI.GetLibrarySpaceCount(ctx, "your-library-id").
AccessToken("your-access-token").
UserId("user-id").
Execute()

if err != nil {
panic(err)
}
fmt.Printf("Total spaces in library: %d\\n", resp.Total)
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
string
是
accessToken
访问令牌
string
否
userId
用户身份识别
string
否
返回值说明
HTTP 状态码:200
获取成功。
响应字段说明
字段
说明
类型
total
租户空间数量
Integer

查询租户空间大小

功能说明
GetSpaceSize 用于查询租户空间大小。
使用示例
ctx := context.Background()

resp, httpRes, err := apiClient.SpaceAPI.GetSpaceSize(ctx, "your-library-id", "your-space-id").
AccessToken("your-access-token").
UserId("user-id").
Execute()

if err != nil {
panic(err)
}
fmt.Printf("Space size: %s bytes\\n", resp.Size)

// 转换为 MB
sizeBytes, _ := strconv.ParseInt(*resp.Size, 10, 64)
sizeMB := float64(sizeBytes) / (1024 * 1024)
fmt.Printf("Space size: %.2f MB\\n", sizeMB)
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
string
是
spaceId
空间 ID
string
是
accessToken
访问令牌
string
否
userId
用户身份识别
string
否
返回值说明
HTTP 状态码:200
获取成功。
响应字段说明
字段
说明
类型
size
租户空间大小(单位:字节),字符串格式
String

设置租户空间限速

功能说明
SetSpaceTrafficLimit 用于设置租户空间的下载限速。需要 admin 或 space_admin 权限。
使用示例
ctx := context.Background()

// 设置下载限速为 1MB/s = 1048576 bytes/s
trafficLimitReq := client.NewSetSpaceTrafficLimitRequest(1048576)

httpRes, err := apiClient.SpaceAPI.SetSpaceTrafficLimit(ctx, "your-library-id", "your-space-id").
AccessToken("your-access-token").
SetSpaceTrafficLimitRequest(*trafficLimitReq).
Execute()

if err != nil {
panic(err)
}
fmt.Printf("Traffic limit set successfully: %d\\n", httpRes.StatusCode)
参数说明
参数名
参数描述
类型
是否必填
libraryId
媒体库 ID
string
是
spaceId
空间 ID
string
是
accessToken
访问令牌
string
否
setSpaceTrafficLimitRequest
限速设置对象
SetSpaceTrafficLimitRequest
是
setSpaceTrafficLimitRequest 对象说明
字段
参数描述
类型
是否必填
DownloadTrafficLimit
空间下载限速,范围 100KB/s-100MB/s(102400 - 104857600 字节),输入 -1 表示取消限速
int32
是
返回值说明
HTTP 状态码:204
修改成功,无响应体。