- 作用:获取公众号当前已配置菜单的JSON,常用于把微信菜单同步保存到自己网站数据库。
- 请求方式:
GET - 接口地址:
https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKENCode language: JavaScript (javascript)
参数:
access_token公众号接口调用凭证,拼接在URL后面。
C# 代码
// 拼接请求地址,填充access_token
string url = string.Format("https://api.weixin.qq.com/cgi-bin/menu/get?access_token={0}", obj.access_token);
// GET请求拿到微信返回的菜单json字符串
string json = Tool.HttpGet(url);
// 反序列化为C#实体对象(就是2-2节写的MenuGetResultInfo实体)
MenuGetResultInfo menuInfo = Tool.DeserializeJson<MenuGetResultInfo>(json);
Code language: JavaScript (javascript)
返回JSON说明
- 公众号有菜单:返回包含
menu节点,里面是button菜单数组(一级菜单),菜单对象里可以包含sub_button二级子菜单数组。 - 公众号没有设置任何菜单:会返回
{"errcode":46003,"errmsg":"no menu data"}。
业务场景
拿到菜单JSON/实体后,可以:
- 在后台页面展示当前微信菜单;
- 将菜单数据存入数据库,做备份;
- 对比本地保存菜单和线上微信菜单是否一致,实现菜单同步功能。
菜单整套接口汇总
- 查询菜单:
GET /menu/get→ 获取菜单JSON - 删除菜单:
GET /menu/delete→ 清空全部菜单,不能单独删一个 - 创建菜单:
POST /menu/create→ 提交JSON新建菜单
修改菜单标准流程:查询 → 删除 → 创建。