神的尾巴

全栈工程师、独立开发者

0%

阿里云API市场接入指南

最近要用到vin码解析,自己实现不太划算,于是就用了阿里云市场的一个接口,顺带总结下阿里云API市场接入的流程和问题。

整个阿里云市场包含的东西比较多,包含软件市场、API市场、解决方案等。

目前我使用的是阿里云API市场,这种理念还是很不错的,能够帮助开发者快速低成本验证产品原型,又能给那些API开发者一个比较好的变现渠道。类似的平台还有聚合数据

当然你也可以把自己觉得比较有用的接口上线到这些API市场,来方便他人使用,并实现商业变现,不过入驻都需要一定门槛(技术、客服团队,弹性云计算),毕竟要保证调用者快、稳定的体验。

接入流程

选择你需要的云市场API

例如我选择的vin码解析API:【天眼数聚】车辆VIN码解析

一般云市场的API都没有免费的调试额度,买之前可以调试看下,API准确率、数据是否满足你的要求。

调试ok后,购买套餐包后就可以正式接入了。

管理云市场API

这边有一个需要吐槽的就是阿里云云市场控制台只能看到购买数据、使用情况和调用key。但是实际接入是在阿里云API网关控制台

进入阿里云API网关控制台,在【调用API->已购买API】能看到已购买的API列表,包括使用次数、剩余次数、到期时间。

接入之前,最好先在【调用API-应用管理】,添加你的应用,然后把对应API授权给你的应用。这样如果你有很多API的时候,可以控制好每个应用的调用权限。

创建完应用,并授权API后,我们可以看到有两种调用方式,AppKey或AppCode。

保存这些秘钥,后面正式接入会用到。

接入API

因为调用方式比较简单,可以使用官方SDK,或者自己写,这里使用nodejs为例。

使用官方SDK

官方sdk: api-gateway-nodejs-sdk

安装sdk

1
npm install aliyun-api-gateway --save

使用AppCode或AppKey + AppSecret方式接入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 使用AppCode
const SimpleClient = require('aliyun-api-gateway').SimpleClient;
const client = new SimpleClient('<你的应用的APPCode>');

// 使用AppKey + AppSecret(推荐,更安全)
const Client = require('aliyun-api-gateway').Client;
const client = new Client('<你的应用的APPKey>','<你的应用的APPSecret>');

async function test() {
const url = '<接口地址,可以到阿里云API网关控制台看到>';

const result = await client.post(url, {
data: {
'<请求参数>': '<请求参数值>'
},
headers: {
accept: 'application/json'
}
})
console.log(JSON.stringify(result))
}

不使用SDK接入

如果是AppCode方式,仅需要在headers添加Authorization: 'APPCODE <你的应用的APPSecret>'

1
2
3
4
5
6
7
8
9
10
11
// 以uniCloud为例
const ret = await uniCloud.httpclient.request('<接口地址,可以到阿里云API网关控制台看到>', {
method: 'GET',
data: {
vin: data.vin
},
dataType: 'json',
headers: {
Authorization: 'APPCODE ' + <你的应用的APPSecret>
}
})

使用AppKey + AppSecret方式

因为签名流程比较长,可以看下这个文档:调用API-客户端签名说明文档

觉得对你有帮助的话,请我喝杯咖啡吧~.