# 开放数据

# 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
1

# 请求参数

属性 类型 默认值 必填 说明
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'
1
2

# 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
1

# 请求参数

属性 类型 默认值 必填 说明
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'
1

# 托管数据的限制

如果在上报数据时触发这些限制,设置数据会失败并且会收到带错误码的返回包。

  1. 每个openid所标识的QQ用户,在游戏当中的托管的数据不能超过128个key-value对。
  2. 上报的key-value列表当中每一项的key+value长度都不能超过1K(1024)字节。
  3. 上报的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
1

# 请求参数

属性 类型 默认值 必填 说明
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
1
2
3
4