1.访问后台API找不到
返回如下错误:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://game-web.qq.com/index_cl.shtml">here</ a>.< /p>
</body></html>
调用api需要指定请求的referer,参考MobileOpenAPI调用说明#参数规范
2.访问api返回{ result: 1000002,resultstr: '您提交的参数不正确,请重新操作!', uin: 0 }
可能是如下两种错误之一:
(1)sig签名验证不过,请在签名验证工具仔细验证生成的url链接,同时保证所有的参数urlencode正确;
(2)gameopenid、gameopenkey验证不过,可联系腾讯接口人处理
3.sig正确了,但是api还是返回result: 1000002?
sig正确了,不代表请求一定成功,因为api会用传过来的原始参数计算sig,和传 过来的sig对比,所以传过来的原始参数不正确也会导致验证失败。典型错误如下:
签名验证工具生成的链接:
http://119.147.19.43/cgi-bin/api/qqgame_mobile_confirm_buy?charset=utf-8&gameappid=8000022&gameopenid=jOqOIbvrf5myU3T95yH9VrGol2up%2FuEB&gameopenkey=A%2BXIAqn1WMqbQpkwdCiaVjsr1zmvTab5UawEvTjmHcBSKV2m6BfAYsjwamo%2FwE33frOr3GlIDBoWAwc1Hk7pmpZDpuJw6dye&orderno=ffef29c408f74b24c47cc5802714f2ab&payamt=1&paytoken=9f6873f3816cde0ce4082cf2264cbfb5&pf=qq&ts=1458712773&sig=M4khTi6jTXiVfvxq7sDNTN5IlS0%3D
游戏生成的链接:
http://119.147.19.43/cgi-bin/api/qqgame_mobile_confirm_buy?charset=utf-8&gameappid=8000022&gameopenid=jOqOIbvrf5myU3T95yH9VrGol2up%252FuEB&gameopenkey=A%252BXIAqn1WMqbQpkwdCiaVjsr1zmvTab5UawEvTjmHcBSKV2m6BfAYsjwamo%252FwE33frOr3GlIDBoWAwc1Hk7pmpZDpuJw6dye&orderno=ffef29c408f74b24c47cc5802714f2ab&payamt=1&paytoken=9f6873f3816cde0ce4082cf2264cbfb5&pf=qq& ts=1458712773&sig=M4khTi6jTXiVfvxq7sDNTN5IlS0%3D
sig正确了,但是原始参数因为urlencode不对,所以最后验证也不会通过
4.返回如下错误{"result":1018,"resultstr":"token校验失败(18)","uin":0}
一般是paytoken失效,重新登录大厅获取新的paytoken
5.sig及url生成示例
以访问qqgame_mobile_confirm_buy为例,在签名验证工具页面填写如下:
注意事项:
(1)Step3,API名称是 /cgi-bin/api/qqgame_mobile_confirm_buy
(2)Step4,输入请求参数,这里所有的参数不能做任何的编码操作,一个典型错误是对gameopenid和gameopenkey做了Urlencode编码:
正确的应该是“+”:
(3)对比最后生成的url,ip换成mobileapi.minigame.qq.com即是请求应该使用的url(注意每个参数都要进行urlencode),注意不能直接在浏览器里访问,因为需要指定请求的Referer,