多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# setUserStorage ### setUserStorage 上报用户数据后台接口。小游戏可以通过本接口上报key-value数据到用户的CloudStorage。 #### 请求地址 ``` <pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln">POST https</span><span class="pun">:</span><span class="com">//api.weixin.qq.com/wxa/set_user_storage?access_token=ACCESS_TOKEN&signature=SIGNATURE&openid=OPENID&sig_method=SIG_METHOD</span></code></li></ol> ``` #### 参数 ##### string access\_token [接口调用凭证](/read/wechat-game-api/297.md) ##### string openid 用户唯一标识符 ##### string signature 用户登录态签名,签名算法请参考[用户登录态签名算法](https://developers.weixin.qq.com/minigame/dev/tutorial/open-ability/session-signature.html) ##### string sig\_method 用户登录态签名的哈希方法,如hmac\_sha256等,请参考[用户登录态签名算法](https://developers.weixin.qq.com/minigame/dev/tutorial/open-ability/session-signature.html) ##### Object kv\_list 要上报的数据 属性类型默认值是否必填说明支持版本keystring是数据的keyvaluestring是数据的value#### 返回值 ##### Object 返回的 JSON 数据包 属性类型说明支持版本errcodenumber错误码errmsgnumber错误信息**errcode 的合法值** 值说明0请求成功-1系统繁忙,此时请开发者稍候再试87016由于某个key-value长度超过限制而上报失败。87017由于用户存储的数据量超过限制而上报失败。87018由于用户存储的key-value对数量超过限制而上报失败。87019由于某个key长度超过限制而上报失败。#### 示例代码 ``` <pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln">curl </span><span class="pun">-</span><span class="pln"> d </span><span class="str">'{ "kv_list":[{"key":"score","value":"100"},{"key":"gold","value":"3000"}] }'</span></code></li> <li class="l1"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="str">'https://api.weixin.qq.com/wxa/set_user_storage?access_token=ACCESS_TOKEN&signature=SIGNATURE&openid=OPENID&sig_method=SIG_METHOD'</span></code></li> </ol> ``` #### 托管数据的限制 如果在上报数据时触发这些限制,设置数据会失败并且会收到带错误码的返回包。 - 每个openid所标识的微信用户,在游戏当中的托管的数据不能超过128个key-value对。 - 上报的key-value列表当中每一项的key+value长度都不能超过1K(1024)字节。 - 上报的key-value列表当中每一个key长度都不能超过128字节。 > 原文: <https://developers.weixin.qq.com/minigame/dev/api/open-api/data/setUserStorage.html>