最近在作微信开发,经过微信API建立自定义菜单时候出现;{"errcode":40016,"errmsg":"invalid button size hint: [afL4na0498vr21]"}错误。查询微信提供的错误文档,返回码:“40016”;说明:“不合法的按钮个数”;json
从网上查询的解决方式,都是错误“invalid button size”;(跟个人错误信息:invalid button size hint不太同样)网上提供的方式有:服务器
一、传输的数据中存在大小写,微信
二、传输数据之间存在空格,微信开发
三、更多说是由于自定义的一级菜单个数超过微信指定的个数(三个);工具
四、自定义菜单的数据json格式问题调试
按照上述解决方案,只要处理下传输菜单数据便可解决问题;code
可是经过微信提供的“使用网页调试工具调试该接口“,我传输的菜单数据是能够正常建立的,因此确定不是上述缘由形成的;接口
因此,就从数据传输给微信服务器以前的菜单数据进行排查,我是模拟客户端,因此,传输的菜单json数据是按照字符串数据进行转义的。不是规定的json数据格式进行请求(这是疏忽的地方),就经过jobject进行了转化;再次请求就成功;开发
注:我的感受因为微信API的升级,因此网上有的对错误信息提供的方案,存在必定的误区(好比,如今菜单数据中key的值就不用区分大小写)文档