数据开发治理平台 WeData 调用 API

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

相关产品
数据开发治理平台 WeData 产品页,含版本规格、价格与购买入口。

一、操作步骤

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 服务提供 AppKey、AppSecret 等调用凭证。

六、操作步骤

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

七、应用列表

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

相关参数说明:

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