QQ小游戏 开放数据
removeUserStorage
本接口应在服务器端调用,详细说明参见服务端API。
删除已经上报到QQ的key-value数据
请求地址
POST https://api.q.qq.com/api/openDataContext/remove_user_storage?access_token=ACCESS_TOKEN&signature=SIGNATURE&openid=OPENID&sig_method=SIG_METHOD
请求参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 接口调用凭证 | |
openid | string | 是 | 用户唯一标识符 | |
signature | string | 是 | 用户登录态签名,签名算法请参考用户登录态签名算法 | |
sig_method | string | 是 | 用户登录态签名的哈希方法,如hmac_sha256等,请参考用户登录态签名算法 | |
key | string | 是 | 要删除的数据key列表 |
返回值
Object
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | number | 错误信息 |
errcode 的合法值
值 | 说明 |
---|---|
0 | 请求成功 |
-1 | 系统繁忙,此时请开发者稍候再试 |
示例代码
curl -d '{ "key":["gold", "score"] }' \
'https://api.q.qq.com/api/openDataContext/remove_user_storage?access_token=ACCESS_TOKEN&signature=SIGNATURE&openid=OPENID&sig_method=SIG_METHOD'
setUserStorage
本接口应在服务器端调用,详细说明参见服务端API。 上报用户数据后台接口。小游戏可以通过本接口上报key-value数据到用户的CloudStorage。
请求地址
POST https://api.q.qq.com/api/openDataContext/set_user_storage?access_token=ACCESS_TOKEN&signature=SIGNATURE&openid=OPENID&sig_method=SIG_METHOD
请求参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 接口调用凭证 | |
openid | string | 是 | 用户唯一标识符 | |
signature | string | 是 | 用户登录态签名,签名算法请参考用户登录态签名算法 | |
sig_method | string | 是 | 用户登录态签名的哈希方法,如hmac_sha256等,请参考用户登录态签名算法 | |
kv_list | Object | 是 | 要上报的数据 |
kv_list 的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
key | string | 是 | 数据的key | |
value | string | 是 | 数据的value |
返回值
Object
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | number | 错误信息 |
errcode 的合法值
值 | 说明 |
---|---|
0 | 请求成功 |
-1 | 系统繁忙,此时请开发者稍候再试 |
87016 | 由于某个key-value长度超过限制而上报失败。 |
87017 | 由于用户存储的数据量超过限制而上报失败。 |
87018 | 由于用户存储的key-value对数量超过限制而上报失败。 |
87019 | 由于某个key长度超过限制而上报失败。 |
示例代码
curl -d '{ "kv_list":[{"key":"score","value":"100"},{"key":"gold","value":"3000"}] }' 'https://api.q.qq.com/api/openDataContext/set_user_storage?access_token=ACCESS_TOKEN&signature=SIGNATURE&openid=OPENID&sig_method=SIG_METHOD'
托管数据的限制
如果在上报数据时触发这些限制,设置数据会失败并且会收到带错误码的返回包。 每个openid所标识的QQ用户,在游戏当中的托管的数据不能超过128个key-value对。
上报的key-value列表当中每一项的key+value长度都不能超过1K(1024)字节。
上报的key-value列表当中每一个key长度都不能超过128字节。
setUserInteractiveData
本接口应在服务器端调用,详细说明参见服务端API。 写用户关系链互动数据存储。
请求地址
POST https://api.q.qq.com/api/setuserinteractivedata?access_token=ACCESS_TOKEN&signature=SIGNATURE&openid=OPENID&sig_method=SIG_METHOD
请求参数
属性 类型 默认值 必填 说明 access_token string
是 接口调用凭证 openid string
是 用户唯一标识符 signature string
是 用户登录态签名,签名算法请参考用户登录态签名算法 sig_method string
是 用户登录态签名的哈希方法,如hmac_sha256等,请参考用户登录态签名算法 kv_list Object
是 要上报的数据 kv_list 的结构 属性 类型 默认值 必填 说明 key string
是 需要修改的数据的 key,目前可以为 '1' - '50' value Number
是 数据的value,目前只能为 1
返回值
Object
返回的 JSON 数据包 属性 类型 说明 errcode number 错误码 errmsg number 错误信息 errcode 的合法值 值 说明 0 请求成功 -1 系统繁忙,此时请开发者稍候再试 -2 kv_list不存在 -3 鉴权参数类型错误 -4 鉴权参数缺失 -100050007 签名校验失败 -100050019 accesstoken错误
示例代码
curl -d '{ "kv_list":[{"key":"score","value":"100"},{"key":"gold","value":"3000"}] }' 'https://api.q.qq.com/api/setuserinteractivedata?access_token=ACCESS_TOKEN&signature=SIGNATURE&openid=OPENID&sig_method=SIG_METHOD'
签名的内容为{"kv_list":[{"key":"1","value":0}]} 签名的秘钥为用户的SessionKey