调用 API

最近更新时间:2025-08-25 15:48:32

我的收藏

操作场景

对查找到的 API 进行申请和调用,API 认证方式为“应用认证”时需要使用方发起申请。

操作步骤

1. 查找到 API 后,可单击API介绍查看 API 文档。

2. 单击 API 申请调用。

免认证

“免认证”不需要申请,可直接调用。




应用认证(HMAC)

“应用认证”的 API 申请方法如下:
1. 单击所需数据服务下的申请调用,在页面中配置申请信息。



申请调用信息详情:
申请内容:确认申请的 API 详情、标签、服务提供方、认证方式是否合适。
申请信息:确认申请人、有限期、关联应用、申请理由。

配置完成后,单击提交申请。经 API 提供方审批通过后,即可使用上述关联应用的凭证信息(ApiAppKey 和 ApiAppSecret)去调用 API。


调用方法一:通过 Postman
step1:在 Header 参数,输入对应应用的 ApiAppKey、ApiAppSecret。

step2:在 Scripts Pre-request 输入如下代码段(复制粘贴即可,无需修改):
var CryptoJS = require("crypto-js");
var apiAppKey = pm.request.headers.get("ApiAppKey");
var apiAppSecret = pm.request.headers.get("ApiAppSecret");
var source = pm.request.headers.get("Source");
// 获取当前GMT日期
var localtime = new Date();
var localmesc = localtime.getTime();
var localOffset = localtime.getTimezoneOffset() * 60000;
var calctime = localOffset + localmesc;
var currentDate = new Date(calctime);
var currentDateArray=currentDate.toString().split(" ")
var currentDateStr = currentDateArray[0]+", "+currentDateArray[2]+" "+currentDateArray[1]+" "+currentDateArray[3]+" "+currentDateArray[4];
// 用于生成签名的内容
var digest = "abcdefgh";
// 业务约定的头部参数
var signedHeaders = {"date": currentDateStr, "digest": digest};
// 生成签名
var sign = generateSignature(signedHeaders, apiAppKey, apiAppSecret);
// 签名设置到请求头中
pm.request.headers.upsert({key: "Authorization", value: sign});
pm.request.headers.upsert({key: "Date", value: currentDateStr});
pm.request.headers.upsert({key: "Source", value: source});
pm.request.headers.upsert({key: "Digest", value: digest});
pm.request.headers.upsert({key: "Accept", value: "text/html, */*; q=0.01"});
function generateSignature(signedHeaders,apiAppKey,apiAppSecret){
// 1. 拼接待签名字符串
var stringToSign = "" ;
Object.entries(signedHeaders).forEach(([key, value]) => {
stringToSign = stringToSign + key+": "+value+"\\n";
});
stringToSign = stringToSign.slice(0, -1);
console.info(stringToSign)
// Generate signature
var hash = CryptoJS.HmacSHA1(stringToSign, apiAppSecret);
var signature = hash.toString(CryptoJS.enc.Base64);
console.log(signature);
var authorizationKong = "hmac username=\\"$username\\", algorithm=\\"$algorithm\\", headers=\\"$headers\\", signature=\\"$signature\\"";
var authorization = authorizationKong.replace("$username", apiAppKey)
.replace("$algorithm", "hmac-sha1")
.replace("$headers", "date digest")
.replace("$signature", signature);
console.info(authorization)
return authorization
}
step3:发起请求,即可成功得到响应:

调用方法二:通过 IDE
调用 API 需要借助 Python 或 Java 代码。具体如下:
step1:进入 使用 HMAC Auth 认证访问,复制步骤4中的 Python 或 Java 代码。
step2:进入 IDE,粘贴上述代码,并且需要替换代码中的以下4项值。将代码中的 Username、Secret :分别替换为见下图的 ApiAppKey、ApiAppSecret (即授权给该 API 的密钥)

将代码中的 URL 和 HTTPMethod,替换为下图:

step3:运行代码,即可成功得到响应:


OAuth2.0认证

注:目前只有POST请求方法的API支持OAuth2.0认证。
step1:获取/刷新 access_token。
进入数据服务 API 的详情页,查看 Token 获取地址:


并查看该 API 已授权的应用信息,查看对应的 ApiAppKey 和 ApiAppSecret 值:




然后,去相关工具(以 Postman 为例)请求获取 access_token。注意请求方法为“POST”;请求地址为上面获取的地址;请求参数中 client_id 和 client_secret 分别对应上述应用的 ApiAppKey 和 ApiAppSecret 值,并额外增加一个固定请求参数"grant_type":"client_credentials"。发送请求即可获取 access_token 值。


step2:请求 API
进入 API 详情页,查看 API 地址:


请求 API 时,请求方法为“POST”;请求地址为上述 API 地址;鉴权认证方法选择 OAuth2.0,Token 填写上述 step1获取的 access_token。请求即可获得最终响应。



API 密钥

操作场景

用户创建密钥为 API 服务提供 AppKey、AppSecret 等调用凭证。

操作步骤

1. 单击我的应用 > 新建应用,配置好应用名称与描述信息,即可完成应用创建,自动生成 AppKey、AppSecret 。


应用列表

应用列表中展示已创建的应用信息,包括应用 ID、应用密钥、描述、创建时间、修改时间,提供查看可调用的 API 接口、更新应用、删除应用的操作功能。

相关参数说明:
参数
说明
应用 ID/名称
应用的 ID 号与英文名称
应用密钥
ApiAppKey 和 ApiAppSecret 需要在请求时作为参数在 Header 传入,不同网关类型的签名计算方法不同:API 网关云原生 API 网关
描述
应用的描述信息
创建时间
应用的创建时间
修改时间
应用配置的最后一次修改时间
可调用接口
单击查看应用下可以调用的 API 接口
更新
更新应用 AppSecret,应用调用的 API 将受到影响,请谨慎操作
删除
删除选中的应用