微信公众平台开发模式 自定义菜单 指南与菜单新建错误代码分析

简介

开发者获取使用凭证(如何获取凭证)后,可以使用该凭证对公众账号的自定义菜单进行创建、查询和删除等操作。 自定义菜单接口可实现以下类型按钮:

click(点击事件):

用户点击click类型按钮后,微信服务器会通过消息接口(event类型)推送点击事件给开发者,并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值进行消息回复

创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。建议测试时可以尝试取消关注公众账号后,再次关注,则可以看到创建后的效果。

菜单创建

接口说明

通过POST一个特定结构体,实现在微信客户端创建自定义菜单。

请求说明

http请求方式:POST  https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN  

请求示例

{
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"type":"click",
"name":"歌手简介",
"key":"V1001_TODAY_SINGER"
},
{
"name":"菜单",
"sub_button":[
{
"type":"click",
"name":"hello word",
"key":"V1001_HELLO_WORLD"
},
{
"type":"click",
"name":"赞一下我们",
"key":"V1001_GOOD"
}]
}]
}

创建后效果:

创建后效果

参数说明

参数是否必须说明
button按钮数组,按钮个数应为1~3个
sub_button子按钮数组,按钮个数应为1~5个
type按钮类型,目前有click类型
name按钮描述,既按钮名字,不超过16个字节,子菜单不超过40个字节
key类型为click必须按钮KEY值,用于消息接口(event类型)推送,不超过128字节

返回说明

正确的Json返回结果:

{"errcode":0,"errmsg":"ok"}  

错误的Json返回结果

{"errcode":40018,"errmsg":"invalid button name size"}  

统一返回码说明

菜单查询

接口说明

查询当前使用的自定义菜单结构。

请求说明

http请求方式:GET  https://api.weixin.qq.com/cgi-bin/menu/get?access_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请求方式:GET  https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=ACCESS_TOKEN  

返回说明

对应创建接口,正确的Json返回结果:  {"errcode":0,"errmsg":"ok"}  

统一返回码说明

请先确保公众账号已经拥有接口调用权限。

默认每个公众帐号都不能超过下面的频率限制。 当超出调用接口频率限制,调用对应接口将会收到如下错误信息:

{"errcode":45009,"errmsg":"api freq out of limit"}  

接口调用频率限制

接口名称频率限制
获取凭证接口200(次/天)
自定义菜单创建接口100(次/天)
自定义菜单查询接口1000(次/天)
自定义菜单删除接口100(次/天)

 

返回码说明

返回码说明
-1系统繁忙
0请求成功
40001验证失败
40002不合法的凭证类型
40003不合法的OpenID
40004不合法的媒体文件类型
40005不合法的文件类型
40006不合法的文件大小
40007不合法的媒体文件id
40008不合法的消息类型
40009不合法的图片文件大小
40010不合法的语音文件大小
40011不合法的视频文件大小
40012不合法的缩略图文件大小
40013不合法的APPID
40014不合法的access_token
40014不合法的access_token
40015不合法的菜单类型
40016不合法的按钮个数
40017不合法的按钮个数
40018不合法的按钮名字长度
40019不合法的按钮KEY长度
40020不合法的按钮URL长度
40021不合法的菜单版本号
40022不合法的子菜单级数
40023不合法的子菜单按钮个数
40024不合法的子菜单按钮类型
40025不合法的子菜单按钮名字长度
40026不合法的子菜单按钮KEY长度
40027不合法的子菜单按钮URL长度
40028不合法的自定义菜单使用用户
41001缺少access_token参数
41002缺少appid参数
41003缺少refresh_token参数
41004缺少secret参数
41005缺少多媒体文件数据
41006缺少media_id参数
41007缺少子菜单数据
42001access_token超时
43001需要GET请求
43002需要POST请求
43003需要HTTPS请求
44001多媒体文件为空
44002POST的数据包为空
44003图文消息内容为空
45001多媒体文件大小超过限制
45002消息内容超过限制
45003标题字段超过限制
45004描述字段超过限制
45005链接字段超过限制
45006图片链接字段超过限制
45007语音播放时间超过限制
45008图文消息超过限制
45009接口调用超过限制
45010创建菜单个数超过限制
46001不存在媒体数据
46002不存在的菜单版本
46003不存在的菜单数据
47001解析JSON/XML内容错误

转载于:https://www.cnblogs.com/lihuanliu/p/4654077.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值