接口调用

在参数说明的上方,还提供了调用说明以及功能说明等API的基本服务信息,供用户浏览查看。

其中,接口地址为该API接口的URL地址。公共请求参数PAGENUM表示接口调用后返回的连续数据样本数量,参数START代表返回的第一个数据样本的索引。

点击在线接口调用按钮,进入在线接口调用页面。在上面的接口参数文本框中输入公共请求参数,点击接口调用按钮,用户可在下方的接口参数窗口中得到JSON格式的返回参数。如下图:

在该示例的返回内容中,冒号前面的内容为字段,并按照层级进行了缩进。

用户返回接口的描述界面,在下方参数说明中这时就会出现该接口返回参数。该示例接口的请求参数与返回参数详细信息如下图所示:

公共数据开放网站服务调用支持三种方式:

用户点击个人中心在我的令牌选项中可以查看令牌,令牌分为签名认证令牌、简单认证令牌。

网站支持重新生成令牌,以备在令牌泄露后禁用原有令牌,并重新生成新的令牌。

其中签名认证令牌由ClientID和ClientSecret两部分组成:

我的令牌页面如下图所示:

用户要查看ClientSecret需点击后面的查看链接,系统会向账号绑定的手机号发送验证码,在下方出现的文本框中输入验证码后,即可查看ClientSecret的具体值。

调用过程

返回该接口的描述页面,在调用说明一栏中,找到接口地址一行中的URL地址,并在使用时在URL地址后用''和'&'拼接请求参数名与对应的参数值。用户按格式调用接口的URL地址,才能获取相应内容。

接口调用最常见的请求方式为GET和POST两种方式,即读接口和写接口,通过这两种方式,实现对数据的增删查改,其中增删改本质都是写的动作。GET请求会将数据放在URL地址中,POST请求会将数据放在消息体Body中。

实际的代码调用接口服务必须遵循以下HTTP协议的传输方式的格式:

调用签名的生成方式为使用HmacSHA256算法对X-Client-Id+X-Timestamp+X-Nonce组合字符计算后,再经过Base64编码得到的加密字符串,密钥为签名认证令牌密钥ClientSecret。

根据以上要求,在调用请求发送前需对请求参数执行如下的代码片段来实现API网关的签名认证:

```javaimportorg.apache.commons.codec.binary.Base64;

importjavax.crypto.Mac;importjavax.crypto.spec.SecretKeySpec;

importjava.security.InvalidKeyException;importjava.security.NoSuchAlgorithmException;importjava.time.Instant;importjava.util.UUID;

StringserviceUrl="SERVICE_URL";//具体服务的调用地址inttimeout=500;//服务调用延时StringclientId="YOUR_CLIENT_ID";//替换为用户的client_idStringtimestamp=String.valueOf(Instant.now().toEpochMilli());Stringnonce=UUID.randomUUID().toString();Stringsecret="YOUR_CLIENT_SECRET";//替换为用户的client_secretStringstringToSign=clientId+timestramp+nonce;

Stringsign=null;try{MachmacSha256=Mac.getInstance("HmacSHA256");byte[]keyBytes=secret.getBytes("UTF-8");hmacSha256.init(newSecretKeySpec(keyBytes,0,keyBytes.length,"HmacSHA256"));sign=Base64.encodeBase64String(hmacSha256.doFinal(stringToSign.getBytes("UTF-8")));}catch(NoSuchAlgorithmExceptione){}catch(UnsupportedEncodingExceptione){}catch(InvalidKeyExceptione){}

HttpPostrequestMethod=newHttpPost();//根据服务的具体请求方法构造合适的请求方法对象,此处以POST方法为例说明requestMethod.setURI(serviceUrl);RequestConfigconfig=RequestConfig.custom().setConnectTimeout(timeout).build();requestMethod.setConfig(config);

requestMethod.addHeader("X-Client-Id",clientId);requestMethod.addHeader("X-Timestamp",timestamp);requestMethod.addHeader("X-Nonce",nonce);requestMethod.addHeader("X-Signature",sign);

//处理返回结果```

```javascriptvarurl="";varclientId="";varclientSecret="";

vartimestamp=newDate().getTime();varnonce=createUuid();

vartextToSign=appKey+timestamp+nonce;varhash=CryptoJS.HmacSHA256(textToSign,clientSecret);varsignature=hash.toString(CryptoJS.enc.Base64);

$.ajax({url:url,type:"POST",beforeSend:function(request){request.setRequestHeader("X-Client-Id",clientId);request.setRequestHeader("X-Timestamp",timestamp);request.setRequestHeader("X-Nonce",nonce);request.setRequestHeader("X-Signature",signature);},success:function(result){console.log(result);}});

functioncreateUuid(){return'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,function?{varr=Math.random()*16|0,v=c=='x'r:(r&0x3|0x8);returnv.toString(16);});}```

调用说明

以上调用接口的过程信息用户可以在该接口的描述页面中的调用说明一栏中查看,如下图:

用户点击个人中心后,在我的令牌选项中可以查看简单认证令牌,如下图:

如页面中提示所说,简单认证令牌通过明文传递,安全性较弱,只适合服务在线调用,不建议在开发的应用中使用。用户点击AppKey的查看链接后,即可显示简单认证令牌的具体值。基于简单认证的接口调用的URL地址格式以及调用方式与签名认证调用接口的一致,但在代码调用时不需要实现API网关的签名认证。

StringserviceUrl="SERVICE_URL";//具体服务的调用地址inttimeout=500;//服务调用延时StringappKey="YOURAPPKEY";//替换为用户的AppKey

requestMethod.addHeader("AppKey",appKey);

用户点击个人中心后,在我的令牌选项中可以查看在老平台申请的所有令牌,如果没有则表示不存在这样的令牌。原有的服务调用令牌如下图所示:

如页面中的提示所说,平台在升级后,为确保原来的服务申请可以正常使用,保留了原来的服务调用令牌。平台将逐步禁用该令牌,并替换为最新的服务令牌。

THE END
1.基木鱼跳转urlscheme:基木鱼跳转urlscheme小程序代码搭建,一键...基木鱼跳转urlscheme小程序代码搭建,一键跳转小程序加粉,代码一键部署联系qq:757714331软件架构本跳转技术是只到首页的代码跳转技术,如需到内页和小程序源代码的二维码页面请联系客服获取。目前成熟版本为大家整理了十余个跳转页面 安装教程java环境一键安装启动即可...https://gitee.com/qinyashi/jimu-fish-jumps-to-urlscheme
2.iOS开发,两个app之间相互跳转(URLScheme)app之前相互访问,更多开发资料 请加QQ群代码库:524884683 上传者:weixin_39840914时间:2019-07-11 ios app调用第三方app ios app调用第三方app,可以调用萤石云app和中维世纪app。 上传者:wangyuhong2267时间:2018-12-02 ios-ELUrlScheme.zip iOS开发,两个app之间相互跳转(URL Scheme),对于封装sdk的用户可能会用到...https://www.iteye.com/resource/u012583107-9685696
3.C++QRegularExpression::match方法代码示例开发者ID:AndrewMeadows,项目名称:hifi,代码行数:32,代码来源:PathUtils.cpp 示例9: reURLScheme ▲点赞 1▼ boolUtils::Misc::isUrl(constQString &s) {staticconstQRegularExpressionreURLScheme("http[s]?|ftp", QRegularExpression::CaseInsensitiveOption);returnreURLScheme.match(QUrl(s).scheme()).has...https://vimsky.com/zh-tw/examples/detail/cpp-ex---QRegularExpression-match-method.html
4.应用程序间通信openURL:用法总结linuxwuliqiang(点击查看大图)图3-17 添加一个URL类型 图3-18 添加一个URL方案 图3-19 设置URL方案的名称 5)选择Item 1,并且将其值设置为myapplication(如图3-19所示)。 6)打开URLSchemeExampleView Controller.m,取消对viewDidLoad方法的注释,并且编写如下代码: http://blog.chinaunix.net/uid-20622737-id-2379942.html
1.androidurlscheme打开小程序进行支付在移动应用开发中,URL Scheme 逐渐成为一种重要的交互方式。通过 URL Scheme,我们可以方便地在不同的应用程序之间进行数据传递和操作。在这篇文章中,我们将探讨如何通过 Android URL Scheme 打开小程序以进行支付操作,并提供详细的代码示例。 什么是 URL Scheme? https://blog.51cto.com/u_16213415/12586998
2.网站建设之html常用代码大全首码项目40 字体大小代码:这里放要处理的文字,可用 3、4、5 等设置大小41 字体颜色代码:这里放要处理的文字,可以换成 blue,yellow 等, 也可以使用十六进制数字表示 如#D5A9C442 文字链接代码:网页地址">链接的文字,在分类栏里用时链接的网页地址必须缩短43 背景音乐代码:<bgsound loop="-1" src="这里放音乐地址">...https://www.arbv.cn/a/27947.html
3.python中的URLEncode和Base64编码:技术详解与应用URLEncode(百分比编码)是一种编码机制,用于在URI(统一资源标识符)中嵌入特定字符。由于URL中只允许包含一定范围内的字符,URLEncode用于将非法字符转换为合法字符,以便在URL中安全传输。 2. 编码规则 URLEncode将非字母数字字符(排除-,_,.,!,~,*,+,@等字符)转换为%后跟两位十六进制数的形式。例如,空格字符(ASCII码...https://blog.csdn.net/weixin_43822401/article/details/143843903
4.URLScheme之支付宝(应该是比较全的了)alipays://platformapi/startapp?appId=20000160#支付宝会员 alipays://platformapi/startapp?appId=20000165#支付宝定期 alipays://platformapi/startapp?appId=20000166#支付宝通讯录 alipays://platformapi/startapp?appId=20000193#支付宝生活缴费 alipays://platformapi/startapp?appId=20000199#支付宝花呗 ...https://www.jianshu.com/p/ec26fd6985bd
5.静态网站利用微信URLScheme生成的ticket从浏览器h5跳到微信小...生成的 URL Scheme 如下所示:weixin://dl/business/?t= *TICKET* 用户无法通过 Scheme 正常打开小程序,开发者需要使用 H5 页面中转,再跳转到 Scheme 实现打开小程序,跳转代码示例如下: location.href = 'weixin://dl/business/?t= *TICKET*' 该跳转方法可以在用户打开 H5 时立即调用,也可以在用户触发事件后...https://www.qwbm.com/new.asp?id=1304
6.据悉HTML网页跳转代码大全网页自动跳转代码LenixBlog11月18日,6岁女孩冷冻卵巢组织免化疗损害,《斗罗大陆唐三爆桶小舞免费》动作,现代都市,短剧 _手机完,《潮湿的心动漫》超高清4K完整版 - 无删减在线播放 - 凯万,天堂最新版在线:开启奇幻之旅 - 一诺手游网,篮球队的公用狗阿武最新章节目录 / 篮球队的公用狗阿武四,丰满的妽妽用身体满足了我电影免费在线...http://m.ningkao.com/v/video/20241117/430662450Kwcpn.shtml?id=79-827314-scm
7.为APP实现QQ分享能力为APP实现QQ登录能力,一门APP推荐QQ互联...四. 在项目代码中找到config.xml 添加代码 复制代码 五.拼接urlScheme和appkey urlScheme =》tencent加上您的appId Appkey =》appkey 填入第4步的位置 六. 能够在他的代码里边找相应的方法代码…… 七.备注:腾讯自由官方项目未审核通过,有些功能会出问题,分享操作先登录,登录先验证安装。 https://www.yimenapp.net/knowledge/appup-871.html
8.Xcode非官方版本恶意代码污染事件(XcodeGhost)的分析与综述1. OpenURL远控 恶意代码包含了一个使用OpenURL的远控模块,该模块可以用来执行从服务器获取到的URL scheme,其使用canOpenURL获取设备上定义的URL scheme信息,并从服务器获取URL scheme通过OpenURL执行。 图2-11 canOpenURL获取信息,执行从服务器获取的URL scheme ...https://www.antiy.com/response/xcodeghost.html
9.iOS离线静态资源包技术方案分析在iOS平台上,我们可以为一个应用定义自己的URL Scheme,然后其他应用或者Web页面就可以通过这个URL Scheme来启动该应用并传递参数。对于WKWebView来说,iOS 11开始引入了WKURLSchemeHandler这个接口,让我们可以拦截WKWebView中的自定义URL Scheme请求,从而让我们有机会自定义这些请求的处理方式,比如从本地加载一个资源文件...https://m.nowcoder.com/discuss/518917330118750208
10.如何使flutter应用程序在其中打开另一个应用程序而不是webview...在上述代码中,将app_scheme://替换为要打开的应用程序的URL Scheme。URL Scheme是应用程序的唯一标识符,用于在设备上唤起应用程序。 这样,当用户点击Flutter应用程序中的"Open App"按钮时,将会尝试打开指定的应用程序。如果设备上安装了该应用程序并且URL Scheme正确,应用程序将会被打开。 https://cloud.tencent.com.cn/developer/information/%E5%A6%82%E4%BD%95%E4%BD%BFflutter%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%9C%A8%E5%85%B6%E4%B8%AD%E6%89%93%E5%BC%80%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E8%80%8C%E4%B8%8D%E6%98%AFwebview-article
11....自定义协议命令注入(CVE2018以下两个浏览器都是使用了 ShellExecute* 系 api 来打开外部 url scheme。InternetExplorer 11Breakpoint 3 hit SHELL32!ShellExecuteExW: 00007ffc`6fad0ff0 48895c2408 mov qword ptr [rsp+8],rbx ss:00000072`e9eff790=0000000000000000 0:019> k # Child-SP RetAddr Call Site 00 00000072`e9eff788 ...https://xz.aliyun.com/t/1994
12.scheme标签腾讯云开发者社区IntelliJ IDEA 2018 设置彩色代码主题(2018版专用) jarfontsimportschemesettings 猫头虎2024-04-07 在选完我们中意的主题之后,需要大家到「intellij-idea-tutorial」中下载相应的主题。以「SublimeMonoKai」主题为例: 29310 教你怎么用URL Scheme H5链接打开微信小程序 ...https://cloud.tencent.com/developer/tag/15864
13.浏览器兼容性 你也可以找到我们的GitHub 上的模式验证例子(试试在线运行它)。 规范 Specification HTML Standard #url-state-(type=url) desktopmobile Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet...https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/input/url