微信公众平台开发(八)自定义菜单功能开发_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了微信公众平台开发(八)自定义菜单功能开发_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5901字,纯文字阅读大概需要9分钟。
内容图文
![微信公众平台开发(八)自定义菜单功能开发_PHP教程](/upload/InfoBanner/zyjiaocheng/172/16d6c7d617634948b9e3813b3ab97969.jpg)
微信公众平台服务号以及之前成功申请内测资格的订阅号都具有自定义菜单的功能。开发者可利用该功能为公众账号的会话界面底部增加自定义菜单,用户点击菜单中的选项,可以调出相应的回复信息或网页链接。自定义菜单接口将为公众账号的信息展示空间提供更多可能性。本文将针对自定义菜单做简单的开发应用,<span 以供读者参考。
<span <span 二、官方说明
开发者获取使用凭证后,可以使用该凭证对公众账号的自定义菜单进行创建、查询和删除等操作。 自定义菜单接口可实现以下类型按钮:
click(点击事件):
view(访问网页):
创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。建议测试时可以尝试取消关注公众账号后,再次关注,则可以看到创建后的效果。
文档地址:http://mp.weixin.qq.com/wiki/index.php?title=%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95%E6%8E%A5%E5%8F%A3
<span <span 三、获取使用凭证
3.1 获取appid 和appsecret
在 微信公众平台 > 高级功能 > 开发模式中找到appid 和appsecret。
3.2 使用appid 和appsecret 向微信凭证获取接口请求access_token
请求地址:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
请求参数说明:
获取access_token填写client_credential
第三方用户唯一凭证
第三方用户唯一凭证密钥,既appsecret
返回说明:
正确的Json返回结果:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
返回参数说明:
access_token:获取到的凭证
expires_in:凭证有效时间,单位:秒
3.3 具体实现
a. 打印出格式
="wxdxxxxxxxxxxxxxxx"="96xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".."&secret=".=(=json_decode(,(?>
结果如下:
b. 获取access_token
="wxdxxxxxxxxxxxxxxx"="96xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".."&secret=".=(=json_decode(,=['access_token' ?>
注:access_token对应于公众号是全局唯一的票据,重复获取将导致上次获取的access_token失效。
<span <span 四、创建菜单
方法:通过POST一个特定结构体,实现在微信客户端创建自定义菜单。
请求地址:https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
<span 请求示例:
<span { "button":[ { "name":"公共查询", "sub_button":[ { "type":"click", "name":"天气查询", "key":"tianQi" }, { "type":"click", "name":"公交查询", "key":"gongJiao" }, { "type":"click", "name":"翻译", "key":"fanYi" }] }, { "name":"苏州本地", "sub_button":[ { "type":"click", "name":"爱上苏州", "key":"loveSuzhou" }, { "type":"click", "name":"苏州景点", "key":"suzhouScenic" }, { "type":"click", "name":"苏州美食", "key":"suzhouFood" }, { "type":"click", "name":"住在苏州", "key":"liveSuzhou" }] }, { "type":"click", "name":"联系我们", "key":"lianxiUs" }] }
示例说明:
菜单结构及说明:
<span { "button":[ //button定义该结构为一个菜单 { "name":"分支主菜单名", "sub_button":[ //sub_button定义子菜单 { "type":"click", //按钮类型 "name":"分支子菜单名1", //菜单名称 "key":"loveSuzhou" //菜单key值 }, { "type":"click", "name":"分支子菜单名2", "key":"liveSuzhou" }] }, //菜单之间用 , 分隔 { "type":"click", "name":"独立菜单", "key":"lianxiUs" }] }
返回说明:
正确的Json返回结果:
{"errcode":0,"errmsg":"ok"}
提交菜单:
通过curl 提交以上的菜单数据,代码如下:
<span $MENU_URL="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".<span $ACC_TOKEN<span ; <span $ch =<span curl_init(); curl_setopt(<span $ch, CURLOPT_URL, <span $MENU_URL<span ); curl_setopt(<span $ch, CURLOPT_CUSTOMREQUEST, "POST"<span ); curl_setopt(<span $ch, CURLOPT_SSL_VERIFYPEER, <span FALSE<span ); curl_setopt(<span $ch, CURLOPT_SSL_VERIFYHOST, <span FALSE<span ); curl_setopt(<span $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'<span ); curl_setopt(<span $ch, CURLOPT_FOLLOWLOCATION, 1<span ); curl_setopt(<span $ch, CURLOPT_AUTOREFERER, 1<span ); curl_setopt(<span $ch, CURLOPT_POSTFIELDS, <span $data<span ); curl_setopt(<span $ch, CURLOPT_RETURNTRANSFER, <span true<span ); <span $info = curl_exec(<span $ch<span ); <span if (curl_errno(<span $ch<span )) { <span echo 'Errno'.curl_error(<span $ch<span ); } curl_close(<span $ch<span ); <span var_dump(<span $info);
运行结果:
测试结果:
菜单创建成功。
<span <span 五、查询菜单
查询当前使用的自定义菜单结构。
请求地址:https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN
curl 代码如下:
<span $MENU_URL="https://api.weixin.qq.com/cgi-bin/menu/get?access_token=".<span $ACC_TOKEN<span ; <span $cu =<span curl_init(); curl_setopt(<span $cu, CURLOPT_URL, <span $MENU_URL<span ); curl_setopt(<span $cu, CURLOPT_RETURNTRANSFER, 1<span ); <span $menu_json = curl_exec(<span $cu<span ); <span $menu = json_decode(<span $menu_json<span ); curl_close(<span $cu<span ); <span echo <span $menu_json;
<span 运行结果:
<span
<span 菜单查询成功。
<span <span 六、删除菜单
<span 取消当前使用的自定义菜单。
请求地址:https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=ACCESS_TOKEN
curl 代码如下:
<span $MENU_URL="https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=".<span $ACC_TOKEN<span ; <span $cu =<span curl_init(); curl_setopt(<span $cu, CURLOPT_URL, <span $MENU_URL<span ); curl_setopt(<span $cu, CURLOPT_RETURNTRANSFER, 1<span ); <span $info = curl_exec(<span $cu<span ); <span $res = json_decode(<span $info<span ); curl_close(<span $cu<span ); <span if(<span $res->errcode == "0"<span ){ <span echo "菜单删除成功"<span ; }<span else<span { <span echo "菜单删除失败"<span ; }
运行结果:
测试结果:
菜单删除成功。
<span 七、完整代码获取
请到QQ群213260412共享里下载使用。
<span 八、关注
请关注 <span 卓锦苏州 微信公众帐号,<span 卓锦苏州 基于SAE 平台开发,针对于主流的微信功能进行开发测试。
您可以关注 <span 卓锦苏州 公众帐号进行功能测试,以及获取新的应用开发。
1. 登录微信客户端,朋友们 -> 添加朋友 -> 搜号码 -> <span zhuojinsz,查找并关注。
2. 扫描二维码:
<span 卓锦苏州<span 菜单功能:
目前菜单具体功能还在开发之中,会陆续更新,敬请期待。。。
http://www.bkjia.com/PHPjc/440160.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/440160.htmlTechArticle微信公众平台 服务号 以及 之前成功申请内测资格的订阅号 都具有自定义菜单的功能。开发者可利用该功能为公众账号的会话界面底部增加...
内容总结
以上是互联网集市为您收集整理的微信公众平台开发(八)自定义菜单功能开发_PHP教程全部内容,希望文章能够帮你解决微信公众平台开发(八)自定义菜单功能开发_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。