【FMZ平台扩展API问题】JS语言在访问扩展API时总是出现签名不对,求大神指点。

Author: mingren1992, Created: 2019-10-10 19:31:03, Updated:

如题。目前平台上扩展API的案例给的是PY和GO,其中关于签名这段,描述的是:先MD5加密再UTF-8编码,我看PY都是直接引入库,但JS没有UTF-8编码的函数?因此签名总是出错,也不知道是编码出错还是本身的写法有问题,编程小白求大神帮忙指点一下,跪谢!

method 和 accessKey前面都有赋值。

var d = { version: ‘1.0’, access_key: accessKey, method: method, args: [], nonce: _N(UnixNano() / 1000000, 0), } var m = d.version + “|” + d.method + “|” + d.args + “|” + d.nonce + “|” + secretKey d.sign = HMAC(“md5”, “hex”, m, “pass”) var h = JSON.parse(HttpQuery(“https://www.fmz.cn/api/v1?access_key=”+accessKey+"&nonce="+d.nonce+"&args=%5B%5D&sign="+d.sign+"&version=1.0&method="+d.method))


More

小小梦 写了一个,测试可以访问通了,您参考下: ``` function main() { var accessKey = "" var secretKey = "" var method = "GetNodeList" var d = { version: '1.0', access_key: accessKey, method: method, args: "null", nonce: (new Date().getTime()).toString() } var m = d.version + "|" + d.method + "|" + d.args + "|" + d.nonce + "|" + secretKey d.sign = Hash("md5", "hex", m) var ret = HttpQuery("https://www.fmz.com/api/v1?access_key=" + accessKey + "&nonce=" + d.nonce + "&args=null&sign=" + d.sign + "&version=1.0&method=" + d.method) Log(ret) } ``` accessKey , secretKey 填写自己的KEY 就可以了。

小小梦 这个扩展API 一般是给独立的程序调用的。一般不写在策略里面调用。

小小梦 JS策略中无法调用,因为没有办法引用自己的库,python 的可以,因为python 可以随意引用需要的库。

小小梦 不客气。

mingren1992 谢谢梦总哈~~~~