- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、自定义菜单概述
?
自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。开启自定义菜单后,公众号界面如图所示:
?
?
二、申请自定义菜单
个人订阅号使用微博认证、企业订阅号通过微信认证;可以申请到自定义菜单资格
服务号默认有菜单权限。
?
?
AppId和AppSecret在开发者中心-开发者ID中,可以找到。
?
?
?
?
用appid和appsecert获得access token,接口为
/cgi-bin/token?grant_type=client_credentialappid=APPIDsecret=APPSECRET
程序实现如下
?
?你也可以直接在浏览器地址栏中,拼接出地址,执行后,获得如下数据
参数说明如下
参数 说明 access_token 获取到的凭证 expires_in 凭证有效时间,单位:秒 其中的
就是access token。
?
或者使用官方的接口调试工具,地址为:
使用网页调试工具调试自定义菜单接口?
点击检查问题得,得到原文?/txw1958/p/weixin-58-custom-menu.html?
这样也获得了access token
?
?
?
目前自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替。请注意,创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。建议测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。
目前自定义菜单接口可实现两种类型按钮,如下:
?
接口调用请求说明
http请求方式:POST(请使用https协议)?/cgi-bin/menu/create?access_token=ACCESS_TOKEN
请求示例
参数说明
参数 是否必须 说明 button 是 一级菜单数组,个数应为1~3个 sub_button 否 二级菜单数组,个数应为1~5个 type 是 菜单的响应动作类型,目前有click、view两种类型 name 是 菜单标题,不超过16个字节,子菜单不超过40个字节 key click类型必须 菜单KEY值,用于消息接口推送,不超过128字节 url view类型必须 网页链接,用户点击菜单可打开链接,不超过256字节 原文??返回结果
正确时的返回JSON数据包如下:
错误时的返回JSON数据包如下(示例为无效菜单名长度):
菜单的JSON结构为?
将以下代码保存为menu.php,并且在浏览器中运行该文件(比如?/menu.php),将直接向微信服务器提交菜单,
原文?/txw1958/p/weixin-58-custom-menu.html?
或者使用官方的调试接口?使用网页调试工具调试该接口
提交成功后,重新关注后即可看到菜单。菜单效果类似如下:
?
原文?/txw1958/p/weixin-58-custom-menu.html?
?
?
在消息接口中处理event事件,其中的click代表菜单点击,通过响应菜单结构中的key值回应消息,view事件无须响应,将直接跳转过去
原文?/txw1958/p/weixin-58-custom-menu.html?
由于菜单中只能填写固定的url地址,对于想要菜单中获取用户的OpenID的情况,可以使用OAuth2.0授权的方式来实现。
URL中填写的地址为一个固定的回调地址。原理方法可以参考 ?微信公众平台开发(99) 自定义菜单获取OpenID
?
本节最新的教程说明及源代码已在《微信公众平台开发最佳实践》一书中发布,欢迎购买。
文档评论(0)