storage.setUserStorage

本接口应在服务器端调用,详细说明参见服务端API

上报用户数据后台接口。小游戏可以通过本接口上报key-value数据到用户的CloudStorage。

请求地址

POST https://api.weixin.qq.com/wxa/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.weixin.qq.com/wxa/set_user_storage?access_token=ACCESS_TOKEN&signature=SIGNATURE&openid=OPENID&sig_method=SIG_METHOD'

托管数据的限制

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

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