点击领取2000元阿里云代金券,付款抵现金用,云服务器69元/年限时抢>>> 点击咨询成为阿里云VIP客户享永久折扣>>>
点击领取2860元腾讯云代金券,付款抵现金用,云服务器88元/年限时抢>>> 点击成为腾讯云VIP客户享永久折扣优惠>>> 点击进入华为云最新优惠活动现场>>> 点击成为华为云VIP客户享永久折扣优惠>>>
接口说明该接口用于获取后续调用媒体托管其他接口的访问令牌(Access Token),调用该接口需要用到媒体库密钥,因此必须在后端调用该接口以保证密钥安全;
请求请求示例GET /api/v1/token?library_id={LibraryId}&library_secret={LibrarySecret}&space_id={SpaceId}&user_id={UserId}&client_id={ClientId}&period={Period}&grant={Grant}
或
POST /api/v1/token?library_id={LibraryId}&library_secret={LibrarySecret}&space_id={SpaceId}&user_id={UserId}&client_id={ClientId}&period={Period}&grant={Grant}
说明:
花括号内为发起请求时的可变参数,实际使用时不包含花括号,例如:/api/v1/token?library_id=cmlxxx&library_secret=1234abcd&space_id=spacexxx&user_id=ABCD1234&grant=upload_file,create_directory ,下同。
请求参数
参数名称 |
描述 |
是否必选 |
LibraryId |
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参阅 创建媒体库 |
必选参数 |
LibrarySecret |
媒体库密钥,在媒体托管控制台创建媒体库后获取,请参阅 创建媒体库 |
必选参数 |
SpaceId |
空间 ID |
如果媒体库为单租户模式,则无需指定该参数;如果媒体库为多租户模式,当需要操作租户空间时,无需指定该参数,当进行其他操作时,若授予管理员权限则该参数为可选,否则必须指定该参数 |
UserId |
用户身份识别 |
可选参数,由业务后台自行控制 |
ClientId |
客户端识别 |
可选参数,由业务后台自行控制 |
Period |
令牌有效时长及每次使用令牌后自动续期的有效时长,单位为秒,有效值为正整数,传入其他值将使用默认值 86400(24 小时),传入小于 1200 的值将自动使用最小值 1200(20 分钟) |
可选参数 |
Grant |
授予的权限,如为空则只拥有读取权限,可指定此参数在只读基础上同时附加下述多个权限,并使用英文逗号(,)分隔 |
- |
- admin |
管理员权限,拥有所有权限 |
- |
-create_space |
拥有创建租户空间权限 |
- |
- delete_space |
拥有删除租户空间权限 |
- |
- space_admin |
租户空间管理员权限,拥有除租户空间操作以外的所有权限 |
- |
- create_directory |
拥有创建目录/相簿权限 |
- |
- delete_directory |
拥有删除目录/相簿权限 |
- |
- move_directory |
拥有重命名/移动目录/相簿权限 |
- |
- copy_directory |
拥有复制目录/相簿权限 |
- |
- upload_file |
拥有上传文件权限 |
- |
- delete_file |
拥有删除文件权限 |
- |
- move_file |
拥有重命名/移动文件权限 |
- |
- copy_file |
拥有复制文件权限 |
- |
请求体空或 application/json ,可指定访问令牌扩展属性(仅限使用 POST 方法)。
请求体示例{
"overrideSpaceExtension": {
"recognizeSensitiveContent": true
}
}
请求体字段说明
参数名称 |
描述 |
overrideSpaceExtension |
对象,指定需要覆盖的租户空间属性,其下的具体字段与修改租户空间属性中的租户空间属性字段相同 |
响应响应码获取成功,返回 HTTP 200 OK。
响应格式application/json
响应体示例{ "accessToken": "xxx", "expiresIn": 86400 }
响应体字段说明
参数名称 |
类型 |
描述 |
accessToken |
字符串 |
访问令牌的具体值 |
expiredIn |
整数 |
访问令牌的有效时长,单位为秒 |
- 请求参数中的 UserId 为可选的业务自身的用户身份识别,媒体托管后端不理解该参数的具体含义,仅用于区分访问令牌所属的用户及记录相关操作的操作者,建议开发者将用于前端用户操作媒体托管的访问令牌,指定 UserId 为业务自身用于识别用户的标识,如小程序 openid 或业务自身的用户 ID 等,将用于后端服务直接操作媒体托管的访问令牌,指定 UserId 为空;
- 请求参数中的 ClientId 为可选的业务自身的客户端识别,用于同个用户多端登录时识别不同的端,可用于用户主动清除其他客户端的有效访问令牌,例如当用户分别使用多台手机客户端、手机微信小程序及 PC 微信小程序登录时,业务后台可以记录用户所登录的客户端数量,并允许用户主动清除指定客户端的登录状态,此时可调用相关接口一并清除指定客户端上的访问令牌;
- 当申请管理员权限的访问令牌且 UserId 为空时,在后续使用访问令牌发起请求时可同时携带 UserId 用做临时身份,此时该请求的访问者将视为该指定用户身份;
- 同一用户身份可申请的访问令牌数量不限制,满足多端同时登录的需求;
- 当使用访问令牌调用接口时,该访问令牌将自动续期,续期后的有效期为 Period 参数所指定的时长;
- 业务后端在收到前端的获取请求令牌请求时,应当首先验证前端的用户身份,随后根据业务中该用户的权限来指定获取请求令牌请求中的 Grant 参数;
- 当指定 overrideSpaceExtension 字段时,其下的字段将临时覆盖指定的租户空间属性;
|