使用介绍

1). 应用场景

UC开放API,接下来简称UC API, 是全时蜜蜂产品为了让用户更容易使用,开发出来的接入平台,采用HTTPS 双向认证作为基础安全保障;请求参数和响应的结果均采用JSON结构,封装到消息体里。 试用场景: 1). 应用服务器 向 蜜蜂OPENAPI服务器发起API调用请求。

2). 简要构架

简要架构

3). 协议角色

UC API 协议有两个角色: 客户(Client)、 服务器(Server)。 Client: 指所有调用UC OPEN API接口的调用方,如用户的应用服务器。 Server: 蜜蜂的UC OPENAPI服务器。

4). 交互模式

UCOPENAPI调用以API一次完整的调用 为一个单元;API调用的通讯分为请求与答复, 每个API完整调用的流程如下

1) Client -----> Send Request ------> Server

2) Client <----- receive Response <----- Server

5). 通讯通道

底层基于HTTPS协议。

6). 安全

UCOPENAPI协议的安全由两个方面来保证: 1) HTTPS协议启用SSL客户端证书认证, 客户端证书有蜜蜂签署、分发。 验证Client的服务器身份有效性。 2). 有专门的认证API提供用户名、密码认证机制。

7). 认证

UC OpenAPI 的API调用除认证API外,都需要先调用认证API,校验Client的身份与权限;当调用认证API后,Client会得到一个Token,作为每次API调用的身份标识。 Token的默认有效期是20分钟, 当20分钟之内没有API被调用,Token会过期。每次API调用都会刷新Token。

8). 术语

UC 全时蜜蜂

9). 构造HTTPS请求

HTTPS 双向认证的要求,客户端在向服务器端发起请求时,必须带上由全时签发的证书。构造请求很简单,参照如下Python 代码

http = httplib2.Http() 
http.add_certificate(${全时签发的PEM证书文件},${全时签发的PEM证书KEY文件},"openapi.quanshi.com")
...
http.request(url, 'POST', bodyString, headers)

注意:下列接口除文件上传下载接口外, HTTP请求的数据都是JSON格式的HTTP协议体, 所以在HTTP请求的头部分应该明确指明Content-Type字段的值为:application/json。