DEMO-OpenAPI使用

适用模块

OpenAPI

具体说明

调用接口时的通用规范,对所有OpenAPI都适用,OpenAPI列表与详情请查看各个子产品的OpenAPI文档说明:  https://study.sf.163.com/documents/read/easyopenapi/openapi_list.md

使用示例

1、获取OpenAPI统一入口域名

DEMO-新版OpenAPI使用 - 图1

打开获得http://bigdata-demo3.jdlt.163.org:10098/api/system/check
OpenAPI统一入口域名即为http://bigdata-demo3.jdlt.163.org:10098
2、请求地址拼接

请求地址由三个部分组成,分别是openapi统一入口域名、子产品调用前缀、子产品功能URI。例如:
http://IP:port/openapi/easydataservice/v1/app/get
其中http://IP:port为统一入口域名,/openapi/easydataservice为子产品调用前缀,/v1/app/get为子产品功能URI

DEMO-新版OpenAPI使用 - 图2

3、鉴权信息
系统为调用者分别应用身份,每个应用都有唯一的accessKeysecretKey。在使用aksk鉴权方式时,需要在入参中携带authType(值为AKSK)、timestamp(5分钟内的毫秒时间戳)、accessKeysig(由secretKey计算出)。

3.1、生成鉴权信息
请联系项目管理员申请获取!  

3.2GET方法时,以上参数放在uri中,例如:
&authType=AKSK&timestamp=1646813499000&accessKey=
fcb2e0b391c0498ba2fadc85c1018f7b&sig=818dc0bb904cc75fa935cb96e0fc9473

3.3POST方法时,以上参数放在request body里,例如:
{
    "authType":"AKSK",
    "timestamp":1646813499000,
    "accessKey":"fcb2e0b391c0498ba2fadc85c1018f7b",
    "sig":"818dc0bb904cc75fa935cb96e0fc9473"
}

其中sig的计算方法为:
sig = md5(secretKey+timestamp) 其中+号表示拼接操作,sig为小32

DEMO-新版OpenAPI使用 - 图3

4、接口请求

- GET请求:
当调用的接口为GET方法时,请求参数只能放置在调用地址的URL
 curl -X GET 'http://easydemo-prod-openapi.163yun.com/openapi/easymetahub/lineage/v1/table/get?datasourceId=1&product=poc&user=admin.mammut@163.com&db=poc&table=xxx&direction=up&authType=AKSK&timestamp=1689770024232&accessKey=xxx&sig=xxx'

- POST请求:
当调用的接口为POST方法时,请求参数只能以json格式(请求头中需要指定Content-Type: application/json)放置在Request Body
curl -X POST -H 'Content-Type: application/json' http://easy-openapi.bdms.service.163.org/openapi/easydataservice/api/v1/app/add -d '{"user": "user@163.com", "product": "product1", "appName": "app1", "appDesc":"xxxxxxxxxxxx", "authType":"AKSK", "timestamp":1232423123, "accessKey":"yyyyy", "sig":"zzzzzz"}'

作者:林帅