请求url说明
http://[域名/IP]/[api_name]
域名和IP的说明
正式环境下使用域名:https://openapi.minigame.qq.com
测试环境下使用域名:https://api-sandbox.urlshare.cn
注:测试域名只能用于应用测试环境,应用部署前必须确保已经将程序中的测试域名换成了正式域名,才能将应用上线到正式环境。
请求URL的示例
正式环境下访问OpenAPI V3.0:https://openapi.minigame.qq.com/v3/user/get_info
测试环境下访问OpenAPI V3.0: https://api-sandbox.urlshare.cn/v3/user/get_info
超时时间说明
OpenAPI一般会在50ms以内返回数据,OpenAPI接口机设置的最长超时时间为3s。 开发者可以根据上述说明自行设置OpenAPI调用的超时时间。
公共参数
参数名称 |
是否必须 |
参数含义 |
描述 |
openid |
必须 |
string |
与APP通信的用户key。从平台跳转到应用时会调用应用的CanvasURL,平台会在CanvasURL后带上本参数。由平台直接传给应用,应用原样传给平台即可。 根据APPID以及QQ号码生成,即不同的appid下,同一个QQ号生成的OpenID是不一样的。 注: (1)如果不知道如何解析CanvasURL以获取OpenID和Openkey,点击这里; (2)如果解析CanvasURL时获取不到OpenID和Openkey等参数,点击这里。 |
openkey |
必须 |
string |
session key。从平台跳转到应用时会调用应用的CanvasURL,平台会在CanvasURL后带上本参数。由平台直接传给应用,应用原样传给平台即可。 注: (1)如果不知道如何解析CanvasURL以获取OpenID和Openkey,点击这里; (2)如果解析CanvasURL时获取不到OpenID和Openkey等参数,点击这里; (3)注意同一个用户如果在不同时间打开多个应用页面,页面返回的openkey是不一样的,这些openkey在各自的页面都可用。但是不要在当前页面使用另1个页面的openkey,否则会出错; (4)Openkey长度为不固定的字符串,不能为空。建议开发者不要检查openkey的长度,也不要在后台存储openkey,否则可能会导致用户无法登录; (5)openkey过期时间为两小时,需要用v3/user/is_login接口续期。 |
appid |
必须 |
unsigned int |
应用的唯一ID。可以通过appid查找APP基本信息。 |
sig |
必须 |
string |
请求串的签名,以appkey作为密钥,具体签名算法见腾讯开放平台第三方应用签名参数sig的说明。 |
pf |
必须 |
string |
应用的来源平台。从平台跳转到应用时会调用应用的CanvasURL,平台会在CanvasURL后带上本参数。由平台直接传给应用,应用原样传给平台即可。 注: (1)由平台直接传给应用,应用原样传给平台即可。请不要应用手动构造pf值,也不需要对平台传递的pf进行有效性校验,以避免应用上线多平台时需要付出额外的修改成本,导致调用某些接口时由于参数需要根据pf值生成导致传入参数不合法。 (2)如果不知道如何解析CanvasURL以获取pf,点击这里; (3)如果解析CanvasURL时获取不到pf,点击这里; (4)建议应用不要在程序中对pf进行转换(例如将字符型转换为int型),避免对于值不固定的pf(例如漫游或游戏联盟的pf)支持造成障碍。 |
format |
|
string |
定义API返回的数据格式。 取值说明:为xml时表示返回的格式是xml;为json时表示返回的格式是json。 注意:json、xml为小写,否则将不识别。format不传或非xml,则返回json格式数据。 |
userip |
|
string |
用户的IP。 应用服务器得到的remote_ip和x_forward_ip是10.x.x.x,由上一层腾讯路由转发。 http请求的头里有一个QVia(HTTP_QVIA值),是个40个字节的串,前8个字节是IP,后面的是校验,将字节串前8个字节,分成4段,分别由16进制转成10进制,即可得到用户最终IP。 如果应用(例如新接入的应用、已经接入TGW的应用、non-hosting应用)获取不到QVia的值,可以直接通过标准http协议获取用户IP。 |
charset |
|
string |
指定请求及响应的字符集, 可选取值为gbk和utf-8, 默认值为gbk, 其他非法取值也认为是gbk |
公共返回参数说明
公共返回参数如下,其余返回参数由各个API自行定义,请参考各OpenAPI的说明
参数名称 |
描述 |
ret |
返回码。具体返回码含义详见下文。 |
msg |
如果错误,返回错误信息。 |
is_lost |
数据是否丢失,如果应用不考虑cache可以完全不关心。 0或者不返回:完全没有丢失,可以缓存。 1:有一部分数据错误,不要缓存 |
公共返回码
ret = 0: 正确返回,其他情况为异常。
QQGame返回码
错误码 | 描述 |
2000001 |
appid 无效 |
2000002 | openid 无效 |
2000003 |
openkey 长度不是32字节 |
2000004 |
sig 无效 |
2000005 |
token type 不对 |
2000006 |
sig 生成错误 |
2000007 |
认证调用失败 |
2000020 |
认证 appid 不合法 |
2000021 |
认证 opnenid 不合法 |
2000022 |
认证 openkey 不合法 |
2000023 |
认证 openid/openkey 失败 |
2000024 |
认证 sig 失败 |
2000025 |
其他认证错误 |
2000030 |
后端调用错误 |
错误返回示例
数据结构如下:
{
"ret":1000002,
"msg":"您提交的参数不正确,请重新操作!",
"uin":0
}
不同的异常,错误码不同。