# 获取自定义菜单配置
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南
接口英文名:getMenu
使用接口创建自定义菜单后,开发者还可使用接口查询自定义菜单的结构。
# 1. 调用方式
# HTTPS 调用
GET https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN
# 云调用
调用方法:officialAccount.menu.get
出入参和 HTTPS 调用相同,调用方式可查看 云调用 说明文档
# 第三方调用
本接口支持第三方平台代商家调用。
该接口所属的权限集 id 为:15
服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。
# 2. 请求参数
# 查询参数 Query String parameters
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
access_token | string | 是 | 接口调用凭证,可使用 access_token、authorizer_access_token |
# 请求体 Request Payload
无
# 3. 返回参数
# 返回体 Response Payload
参数名 | 类型 | 说明 |
---|---|---|
menu | object | 默认菜单信息 |
conditionalmenu | objarray | 个性化菜单列表 |
# Res.menu Object Payload
默认菜单信息
参数名 | 类型 | 说明 |
---|---|---|
button | objarray | 一级菜单数组(1-3个) |
# Res.conditionalmenu(Array) Object Payload
个性化菜单列表
参数名 | 类型 | 说明 |
---|---|---|
button | objarray | 一级菜单数组(1-3个) |
matchrule | object | 菜单匹配规则(至少一个非空字段) |
# Res.menu.button(Array) Object Payload
一级菜单数组(1-3个)
参数名 | 类型 | 示例 | 说明 |
---|---|---|---|
type | string | click | 菜单的响应动作类型(与 sub_button 互斥) |
name | string | 今日歌曲 | 菜单标题,不超过16个字节,子菜单不超过60个字节 |
key | string | - | 菜单KEY值,用于消息接口推送,不超过128字节。click等点击类型必须。 |
url | string | - | 网页链接,用户点击菜单可打开链接,不超过1024字节。 type为miniprogram时,不支持小程序的老版本客户端将打开本url。view、miniprogram类型必填。 |
media_id | string | - | 调用新增永久素材接口返回的合法media_id。media_id类型和view_limited类型必须 |
appid | string | - | 小程序的appid(仅认证公众号可配置),miniprogram类型必须 |
pagepath | string | - | 小程序的页面路径,miniprogram类型必须 |
article_id | string | - | 发布后获得的合法 article_id,article_id类型和article_view_limited类型必须 |
sub_button | objarray | - | 二级菜单结构体数组 |
# Res.menu.button(Array).sub_buttonObject Payload
Object Payload
二级菜单结构体数组
参数名 | 类型 | 示例 | 说明 |
---|---|---|---|
type | string | click | 菜单的响应动作类型(同一级菜单的 type) |
name | string | 今日歌曲 | 菜单标题,不超过16个字节,子菜单不超过60个字节 |
key | string | - | 菜单KEY值,用于消息接口推送,不超过128字节。click等点击类型必须。 |
url | string | - | 网页链接,用户点击菜单可打开链接,不超过1024字节。 type为miniprogram时,不支持小程序的老版本客户端将打开本url。view、miniprogram类型必填。 |
media_id | string | - | 调用新增永久素材接口返回的合法media_id。media_id类型和view_limited类型必须 |
appid | string | - | 小程序的appid(仅认证公众号可配置),miniprogram类型必须 |
pagepath | string | - | 小程序的页面路径,miniprogram类型必须 |
article_id | string | - | 发布后获得的合法 article_id,article_id类型和article_view_limited类型必须 |
# Res.conditionalmenu(Array).buttonObject Payload
Object Payload
一级菜单数组(1-3个)
参数名 | 类型 | 示例 | 说明 |
---|---|---|---|
type | string | click | 菜单的响应动作类型(与 sub_button 互斥) |
name | string | 今日歌曲 | 菜单标题,不超过16个字节,子菜单不超过60个字节 |
key | string | - | 菜单KEY值,用于消息接口推送,不超过128字节。click等点击类型必须。 |
url | string | - | 网页链接,用户点击菜单可打开链接,不超过1024字节。 type为miniprogram时,不支持小程序的老版本客户端将打开本url。view、miniprogram类型必填。 |
media_id | string | - | 调用新增永久素材接口返回的合法media_id。media_id类型和view_limited类型必须 |
appid | string | - | 小程序的appid(仅认证公众号可配置),miniprogram类型必须 |
pagepath | string | - | 小程序的页面路径,miniprogram类型必须 |
article_id | string | - | 发布后获得的合法 article_id,article_id类型和article_view_limited类型必须 |
sub_button | objarray | - | 二级菜单结构体数组 |
# Res.conditionalmenu(Array).button.sub_buttonObject Payload
Object Payload
二级菜单结构体数组
参数名 | 类型 | 示例 | 说明 |
---|---|---|---|
type | string | click | 菜单的响应动作类型(同一级菜单的 type) |
name | string | 今日歌曲 | 菜单标题,不超过16个字节,子菜单不超过60个字节 |
key | string | - | 菜单KEY值,用于消息接口推送,不超过128字节。click等点击类型必须。 |
url | string | - | 网页链接,用户点击菜单可打开链接,不超过1024字节。 type为miniprogram时,不支持小程序的老版本客户端将打开本url。view、miniprogram类型必填。 |
media_id | string | - | 调用新增永久素材接口返回的合法media_id。media_id类型和view_limited类型必须 |
appid | string | - | 小程序的appid(仅认证公众号可配置),miniprogram类型必须 |
pagepath | string | - | 小程序的页面路径,miniprogram类型必须 |
article_id | string | - | 发布后获得的合法 article_id,article_id类型和article_view_limited类型必须 |
# Res.conditionalmenu(Array).matchrule Object Payload
菜单匹配规则(至少一个非空字段)
参数名 | 类型 | 示例 | 说明 |
---|---|---|---|
tag_id | string | - | 用户标签的id,可通过用户标签管理接口获取 |
client_platform_type | string | 1 | 客户端版本,当前只具体到系统型号:IOS(1), Android(2),Others(3),不填则不做匹配 |
# 4. 注意事项
在设置了个性化菜单后,使用本自定义菜单查询接口可以获取默认菜单和全部个性化菜单信息。
# 5. 代码示例
# 5.1 查询默认菜单
请求示例
无
返回示例
{
"menu": {
"button": [
{
"type": "click",
"name": "今日歌曲",
"key": "V1001_TODAY_MUSIC",
"sub_button": []
}
]
}
}
# 5.2 查询个性化菜单
请求示例
无
返回示例
{
"menu": {
"button": [
{
"type": "click",
"name": "今日歌曲",
"key": "V1001_TODAY_MUSIC",
"sub_button": []
}
],
"menuid": 208396938
},
"conditionalmenu": [
{
"button": [
{
"type": "click",
"name": "今日歌曲",
"key": "V1001_TODAY_MUSIC",
"sub_button": []
}
],
"matchrule": {
"group_id": 2,
"sex": 1
},
"menuid": 208396993
}
]
}
# 6. 错误码
以下是本接口的错误码列表,其他错误码可参考 通用错误码
错误码 | 错误描述 | 解决方案 |
---|---|---|
0 | ok | 正常 |
# 7. 适用范围
本接口在不同账号类型下的可调用情况:
公众号 | 服务号 |
---|---|
✔ | ✔ |
- ✔:该账号可调用此接口
- 其他未明确声明的账号类型,如无特殊说明,均不可调用此接口;