# 查询自定义菜单信息
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南
接口英文名:getCurrentSelfmenuInfo
本接口提供公众号当前使用的自定义菜单的配置,如果公众号是通过API调用设置的菜单,则返回菜单的开发配置,而如果公众号是在公众平台官网通过网站功能发布菜单,则本接口返回运营者设置的菜单配置。
# 1. 调用方式
# HTTPS 调用
GET https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_info?access_token=ACCESS_TOKEN
# 云调用
调用方法:officialAccount.menu.getSelfMenu
出入参和 HTTPS 调用相同,调用方式可查看 云调用 说明文档
# 第三方调用
本接口支持第三方平台代商家调用。
该接口所属的权限集 id 为:1、3、15
服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。
# 2. 请求参数
# 查询参数 Query String parameters
参数名 | 类型 | 必填 | 示例 | 说明 |
---|---|---|---|---|
access_token | string | 是 | ACCESS_TOKEN | 接口调用凭证,可使用 access_token、authorizer_access_token |
# 请求体 Request Payload
无
# 3. 返回参数
# 返回体 Response Payload
参数名 | 类型 | 示例 | 说明 |
---|---|---|---|
is_menu_open | number | 0 | 菜单是否开启,0代表未开启,1代表开启 |
selfmenu_info | object | - | 菜单信息 |
# Res.selfmenu_info Object Payload
菜单信息
参数名 | 类型 | 说明 |
---|---|---|
button | objarray | 菜单按钮 |
# Res.selfmenu_info.button(Array) Object Payload
菜单按钮
参数名 | 类型 | 示例 | 说明 |
---|---|---|---|
type | string | click | 菜单的类型,具体参考新增 API 的描述 |
name | string | 今日歌曲 | 菜单名称 |
value | string | - | 对于不同的菜单类型,value的值意义不同。官网上设置的自定义菜单: Text:保存文字到value; Img、voice:保存mediaID到value; Video:保存视频下载链接到value; News:保存图文消息到news_info,同时保存mediaID到value; View:保存链接到url。 使用API设置的自定义菜单: click、scancode_push、scancode_waitmsg、pic_sysphoto、pic_photo_or_album、 pic_weixin、location_select:保存值到key;view:保存链接到url |
url | string | - | 对于不同的菜单类型,value的值意义不同。官网上设置的自定义菜单: Text:保存文字到value; Img、voice:保存mediaID到value; Video:保存视频下载链接到value; News:保存图文消息到news_info,同时保存mediaID到value; View:保存链接到url。 使用API设置的自定义菜单: click、scancode_push、scancode_waitmsg、pic_sysphoto、pic_photo_or_album、 pic_weixin、location_select:保存值到key;view:保存链接到url |
key | string | - | 对于不同的菜单类型,value的值意义不同。官网上设置的自定义菜单: Text:保存文字到value; Img、voice:保存mediaID到value; Video:保存视频下载链接到value; News:保存图文消息到news_info,同时保存mediaID到value; View:保存链接到url。 使用API设置的自定义菜单: click、scancode_push、scancode_waitmsg、pic_sysphoto、pic_photo_or_album、 pic_weixin、location_select:保存值到key;view:保存链接到url |
news_info | object | - | 图文消息的信息 |
# Res.selfmenu_info.button(Array).news_info Object Payload
图文消息的信息
参数名 | 类型 | 说明 |
---|---|---|
list | objarray | 图文消息列表 |
# Res.selfmenu_info.button(Array).news_info.listObject Payload
Object Payload
图文消息列表
参数名 | 类型 | 说明 |
---|---|---|
title | string | 标题 |
digest | string | 摘要 |
author | string | 作者 |
show_cover | number | 是否显示封面,0为不显示,1为显示 |
cover_url | string | 封面图片的URL |
content_url | string | 正文的URL |
source_url | - | 原文的URL,若置空则无查看原文入口 |
# 4. 注意事项
- 第三方平台开发者可以通过本接口,在旗下公众号将业务授权给你后,立即通过本接口检测公众号的自定义菜单配置,并通过接口再次给公众号设置好自动回复规则,以提升公众号运营者的业务体验。
- 本接口与自定义菜单查询接口的不同之处在于,自定义菜单查询接口仅能查询到使用API设置的菜单,本接口除了能查看使用API设置的菜单,还可以查看账号通过公众平台官网(mp.weixin.qq.com)中设置的菜单。
- 认证/未认证的服务号/公众号,以及接口测试号,均拥有该接口权限。
- 从第三方平台的公众号登录授权机制上来说,该接口从属于消息与菜单权限集。
- 本接口中返回的图片/语音/视频为临时素材(临时素材每次获取都不同,3天内有效,通过素材管理-获取临时素材接口来获取这些素材),本接口返回的图文消息为永久素材素材(通过素材管理-获取永久素材接口来获取这些素材)。
# 5. 代码示例
# 5.1 官网设置菜单示例
请求示例
{}
返回示例
{
"is_menu_open": 1,
"selfmenu_info": {
"button": [
{
"name": "button",
"sub_button": {
"list": [
{
"type": "view",
"name": "view_url",
"url": "http://www.qq.com"
},
{
"type": "news",
"name": "news",
"value":"KQb_w_Tiz-nSdVLoTV35Psmty8hGBulGhEdbb9SKs-o",
"news_info": {
"list": [
{
"title": "MULTI_NEWS",
"author": "JIMZHENG",
"digest": "text",
"show_cover": 0,
"cover_url": "http://mmbiz.qpic.cn/mmbiz/GE7et87vE9vicuCibqXsX9GPPLuEtBfXfK0HKuBIa1A1cypS0uY1wickv70iaY1gf3I1DTszuJoS3lAVLvhTcm9sDA/0",
"content_url": "http://mp.weixin.qq.com/s?__biz=MjM5ODUwNTM3Ng==&mid=204013432&idx=1&sn=80ce6d9abcb832237bf86c87e50fda15#rd",
"source_url": ""
},
{
"title": "MULTI_NEWS1",
"author": "JIMZHENG",
"digest": "MULTI_NEWS1",
"show_cover": 1,
"cover_url": "http://mmbiz.qpic.cn/mmbiz/GE7et87vE9vicuCibqXsX9GPPLuEtBfXfKnmnpXYgWmQD5gXUrEApIYBCgvh2yHsu3ic3anDUGtUCHwjiaEC5bicd7A/0",
"content_url": "http://mp.weixin.qq.com/s?__biz=MjM5ODUwNTM3Ng==&mid=204013432&idx=2&sn=8226843afb14ecdecb08d9ce46bc1d37#rd",
"source_url": ""
}
]
}
},
{
"type": "video",
"name": "video",
"value": "http://61.182.130.30/vweixinp.tc.qq.com/1007_114bcede9a2244eeb5ab7f76d951df5f.f10.mp4?vkey=77A42D0C2015FBB0A3653D29C571B5F4BBF1D243FBEF17F09C24FF1F2F22E30881BD350E360BC53F&sha=0&save=1"
},
{
"type": "voice",
"name": "voice",
"value": "nTXe3aghlQ4XYHa0AQPWiQQbFW9RVtaYTLPC1PCQx11qc9UB6CiUPFjdkeEtJicn"
}
]
}
},
{
"type": "text",
"name": "text",
"value": "This is text!"
},
{
"type": "img",
"name": "photo",
"value": "ax5Whs5dsoomJLEppAvftBUuH7CgXCZGFbFJifmbUjnQk_ierMHY99Y5d2Cv14RD"
}
]
}
}
# 5.2 API设置菜单示例
请求示例
{}
返回示例
{
"is_menu_open": 1,
"selfmenu_info": {
"button": [
{
"type": "click",
"name": "今日歌曲",
"key": "V1001_TODAY_MUSIC"
},
{
"name": "菜单",
"sub_button": {
"list": [
{
"type": "view",
"name": "搜索",
"url": "http://www.soso.com/"
},
{
"type": "view",
"name": "视频",
"url": "http://v.qq.com/"
},
{
"type": "click",
"name": "赞一下我们",
"key": "V1001_GOOD"
}
]
}
}
]
}
# 6. 错误码
以下是本接口的错误码列表,其他错误码可参考 通用错误码
错误码 | 错误描述 | 解决方案 |
---|---|---|
-1 | system error | 系统繁忙,此时请开发者稍候再试 |
40001 | invalid credential access_token isinvalid or not latest | access_token 无效或不为最新获取的 access_token,请开发者确认access_token的有效性 |
# 7. 适用范围
本接口在不同账号类型下的可调用情况:
公众号 | 服务号 |
---|---|
✔ | ✔ |
- ✔:该账号可调用此接口
- 其他未明确声明的账号类型,如无特殊说明,均不可调用此接口;