微信自定义菜单接口权限问题

最近在开发一个微信第三方平台,在开发自定义菜单接口的时候遇到一个坑。发送的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,但是在公众号的素材管理界面中却无法查看到该素材。