简介
开发者获取使用凭证(如何获取凭证)后,可以使用该凭证对公众账号的自定义菜单进行创建、查询和删除等操作。 自定义菜单接口可实现以下类型按钮:
click(点击事件):用户点击click类型按钮后,微信服务器会通过消息接口(event类型)推送点击事件给开发者,并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值进行消息回复。
view(访问网页):用户点击view类型按钮后,会直接跳转到开发者指定的url中。
创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。建议测试时可以尝试取消关注公众账号后,再次关注,则可以看到创建后的效果。
菜单创建
接口说明
通过POST一个特定结构体,实现在微信客户端创建自定义菜单。
请求说明
http请求方式:POSThttps://api.weixin.qq.com/cgi-bi … _token=ACCESS_TOKEN
请求示例
{
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"type":"click",
"name":"歌手简介",
"key":"V1001_TODAY_SINGER"
},
{
"name":"菜单",
"sub_button":[
{
"type":"view",
"name":"搜索",
"url":"http://www.soso.com/"
},
{
"type":"view",
"name":"视频",
"url":"http://v.qq.com/"
},
{
"type":"click",
"name":"赞一下我们",
"key":"V1001_GOOD"
}]
}]
}
创建后效果:

参数说明
[table]
[tr][td] 参数[/td][td] 是否必须[/td][td] 说明[/td][/tr]
[tr][td]button[/td][td]是[/td][td]按钮数组,按钮个数应为2~3个[/td][/tr]
[tr][td]sub_button[/td][td]否[/td][td]子按钮数组,按钮个数应为2~5个[/td][/tr]
[tr][td]type[/td][td]是[/td][td]按钮类型,目前有click类型[/td][/tr]
[tr][td]name[/td][td]是[/td][td]按钮描述,既按钮名字,不超过16个字节,子菜单不超过40个字节[/td][/tr]
[tr][td]key[/td][td]类型为click必须[/td][td]按钮KEY值,用于消息接口(event类型)推送,不超过128字节[/td][/tr]
[/table]返回说明
正确的Json返回结果:
{“errcode”:0,“errmsg”:“ok”}错误的Json返回结果
{“errcode”:40018,“errmsg”:“invalid button name size”}统一返回码说明
菜单查询
接口说明
查询当前使用的自定义菜单结构。
请求说明
http请求方式:GEThttps://api.weixin.qq.com/cgi-bi … _token=ACCESS_TOKEN
返回说明
对应创建接口,正确的Json返回结果:
{"menu":
{"button":
[{"type":"click","name":"今日歌曲","key":"V1001_TODAY_MUSIC","sub_button":[]},
{"type":"click","name":"歌手简介","key":"V1001_TODAY_SINGER","sub_button":[]},
{"name":"菜单","sub_button":[{"type":"click","name":"hello word","key":"V1001_HELLO_WORLD","sub_button":[]},
{"type":"click","name":"赞一下我们","key":"V1001_GOOD","sub_button":[]}]}]}}
菜单删除
接口说明
取消当前使用的自定义菜单。
请求说明
http请求方式:GEThttps://api.weixin.qq.com/cgi-bi … _token=ACCESS_TOKEN返回说明
对应创建接口,正确的Json返回结果:{“errcode”:0,“errmsg”:“ok”}