当客户端用户需要访问 CME 相关资源时,为简化开发者的工作,CME 提供了客户端 API 以及配套的 SDK。客户端 API 的调用方式如下所示:
1. 客户端请访问签名。
2. 服务端生成签名并返回给客户端。
3. 客户端发起登录,换取长期票据。
4. 调用 客户端 API。在票据有效期内,客户端可以无限次调用客户端 API,无需每次调用前都去服务端获取票据。
具体流程如下。
步骤1:申请访问签名
客户端携带用户身份标识(UserId)向自身后台申请访问签名。
步骤2:获取生成签名
注意
切勿将生成签名所依赖的 SecretId 和 SecretKey 泄露到客户端,否则将造成严重的安全后果。
步骤3:通过签名换取票据
客户端使用服务端返回的 Signature,调用如下接口换取长期鉴权票据,请求方式为 HTTP GET。请求结构如下:
GET https://open.cme.qcloud.com?signature=<Signature> HTTP/1.1
如果 Signature 校验成功,应答结果如下:
{"Response":{"AppId":1200000001,"Authorization":"tf_*****************8c4727ec","Platform":"******","RequestId":"c0097a58-3be4-4050-ada4-266d9423fxxx","TfUid":"******"}}
如果 Signature 校验失败,应答结果如下:
{"Response":{"Error":{"Code":"InvalidParameterValue.Platform","Message":"platform not exist"},"RequestId":"256594c9-5791-455e-8a51-4ec022cf6e9b"}}
步骤4:调用客户端 API
以 HTTP POST 方式发起请求,格式如下:
POST https://web-paas-api.cme.qcloud.com/PaaS/<ActionClass>/<ActionName>?auth=<Authorization> HTTP/1.1{<RequestBody>}
其中:
ActionClass
为接口分类。ActionName
为接口名称。Authorization
为 步骤3 获取的长期票据。RequestBody
为具体请求内容,格式为 JSON。接口应答内容为 JSON,形式如下:
{"Code": "<Code>","Message": "<Message>","EnglishMessage": "<EnglishMessage>","Data" : {<Data>}}
其中:
Code
为错误码。Success 为成功,其余为失败。详情请参见 错误码。Message
为中文错误信息。EnglishMessage
为英文错误信息。Data
为接口具体应答内容。以删除媒体接口为例,其请求如下:
POST https://web-paas-api.cme.qcloud.com/PaaS/Material/DeleteMaterial?auth=<Authorization> HTTP/1.1{"MaterialId": "38192156030633420589"}
如果请求成功,应答如下:
{"Code": "Success","EnglishMessage": "success","Message": "成功"}