微信开发的一些神坑
微信自定义菜单接口权限问题
最近在开发一个微信第三方平台,在开发自定义菜单接口的时候遇到一个坑。发送的json数据明明是正确的,因为已经与官方文档的示例一一对比过了。但是依旧返回40119错误,意思是button类型错误。不解的我开始到搜索引擎上寻找答案,据查阅到的资料说,当返回这个异常的时候,不一定表示发送的json数据不对,也有可能是因为没有接口权限。比较坑爹的是,返回信息根本就没说权限提示,所以特此记录一下这个坑。
当时发送的json数据如下:
{
"button": [
{
"name": "View Book",
"type": "view",
"url": "http://www.baidu.com/"
},
{
"key": "click-02",
"name": "Click",
"type": "click"
},
{
"key": "click-03",
"name": "PIC",
"type": "pic_weixin"
}
]
}
微信返回的错误信息如下:
"errcode": 40119, "errmsg": "invalid use button type hint: [L1Jv508791891]"
于是去查阅微信的文档,文档描述该错误码如下:
然后根据搜索引擎所查阅的资料说明,到公众号的接口权限管理界面中,查看到的确是没有该权限:
这就有点坑了,为啥不是返回权限错误而是返回button类型错误。素材管理接口也是,如果没有权限的话,也不会提示权限错误,而是能够成功上传素材,并能够返回该素材media_id,但是在公众号的素材管理界面中却无法查看到该素材。