失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 微信公众平台开发自定义菜单功能开发

微信公众平台开发自定义菜单功能开发

时间:2019-10-25 01:30:08

相关推荐

微信公众平台开发自定义菜单功能开发

微信小程序|微信开发

微信公众平台

微信小程序-微信开发

A、简介

导入功能源码,vscode转Excel,ubuntu totem,tomcat 6.066位,Sqlite如何加读写锁,头像插件推荐,考虑seo前端框架什么最好,大数据爬虫软件怎么用,php数组引用,seo广告怎么展示,wordpress网站后台要怎么登陆,单网页模板修改不了了,ecshop仿红星美凯龙模板免费宽屏版lzw

微信公众平台服务号以及之前成功申请内测资格的订阅号都具有自定义菜单的功能。开发者可利用该功能为公众账号的会话界面底部增加自定义菜单,用户点击菜单中的选项,可以调出相应的回复信息或网页链接。自定义菜单接口将为公众账号的信息展示空间提供更多可能性。本文将针对自定义菜单做简单的开发应用,以供读者参考。

cms源码 开源中国,VScode窗口总是崩溃,UBUNTU命令CFL,tomcat配置301跳转,sqlite查看删除数据库,爬虫IP怎么爬虫,php 正则 反斜杠,日照seo优化排名平台,订房网站源码,discuz nt 模板制作lzw

B、官方说明

mvc jsp 源码下载,右键用vscode打开文件,蓝魔ubuntu,装2个tomcat,哪些爬虫合法,固定资产管理 php,荆门床上用品seo推广,网站免费系统源码,织梦模板后台密码lzw

开发者获取使用凭证后,可以使用该凭证对公众账号的自定义菜单进行创建、查询和删除等操作。 自定义菜单接口可实现以下类型按钮:

click(点击事件):

用户点击click类型按钮后,微信服务器会通过消息接口(event类型)推送点击事件给开发者,并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值进行消息回复。

view(访问网页):

用户点击view类型按钮后,会直接跳转到开发者指定的url中。

创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。建议测试时可以尝试取消关注公众账号后,再次关注,则可以看到创建后的效果。

文档地址:http://mp./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

C、获取使用凭证

3.1 获取appid 和appsecret

在 微信公众平台 > 高级功能 > 开发模式中找到appid 和appsecret。

3.2 使用appid 和appsecret 向微信凭证获取接口请求access_token

请求地址:https://api./cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

请求参数说明:

grant_type:获取access_token填写client_credential

appid:第三方用户唯一凭证

secret:第三方用户唯一凭证密钥,既appsecret

返回说明:

正确的Json返回结果:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

返回参数说明:

access_token:获取到的凭证

expires_in:凭证有效时间,单位:秒

3.3 具体实现

a. 打印出格式

结果如下:

b. 获取access_token

注:access_token对应于公众号是全局唯一的票据,重复获取将导致上次获取的access_token失效。

D、创建菜单

方法:通过POST一个特定结构体,实现在微信客户端创建自定义菜单。

请求地址:https://api./cgi-bin/menu/create?access_token=ACCESS_TOKEN

请求示例:

{ "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" }]}

示例说明:

菜单结构及说明:

{ "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 提交以上的菜单数据,代码如下:

$MENU_URL="https://api./cgi-bin/menu/create?access_token=".$ACC_TOKEN;$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $MENU_URL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($ch, CURLOPT_USERAGENT, Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0));curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $info = curl_exec($ch);if (curl_errno($ch)) { echo Errno.curl_error($ch);}curl_close($ch);var_dump($info);

生成菜单:

创建菜单的代码提交到服务器后,并不是自动就出来了,需要通过执行该代码文件才能生成,所以,打开浏览器,在地址栏里输入完整的菜单代码URL,运行结果如下:

测试结果:

菜单创建成功。

E、查询菜单

查询当前使用的自定义菜单结构。

请求地址:https://api./cgi-bin/menu/get?access_token=ACCESS_TOKEN

curl 代码如下:

$MENU_URL="https://api./cgi-bin/menu/get?access_token=".$ACC_TOKEN;$cu = curl_init();curl_setopt($cu, CURLOPT_URL, $MENU_URL);curl_setopt($cu, CURLOPT_RETURNTRANSFER, 1);$menu_json = curl_exec($cu);$menu = json_decode($menu_json);curl_close($cu);echo $menu_json;

运行结果:

菜单查询成功。

F、删除菜单

取消当前使用的自定义菜单。

请求地址:https://api./cgi-bin/menu/delete?access_token=ACCESS_TOKEN

curl 代码如下:

$MENU_URL="https://api./cgi-bin/menu/delete?access_token=".$ACC_TOKEN;$cu = curl_init();curl_setopt($cu, CURLOPT_URL, $MENU_URL);curl_setopt($cu, CURLOPT_RETURNTRANSFER, 1);$info = curl_exec($cu);$res = json_decode($info);curl_close($cu);if($res->errcode == "0"){ echo "菜单删除成功";}else{ echo "菜单删除失败";}

运行结果:

测试结果:

菜单删除成功。

G、完整代码获取

请访问 乐思乐享 官方网盘

URL:/s/1c0s3Jby

H、关注

请关注 卓锦苏州 微信公众帐号,卓锦苏州 基于BAE 平台开发,针对于主流的微信功能进行开发测试。

您可以关注 卓锦苏州 公众帐号进行功能测试,以及获取新的应用开发。

1. 登录微信客户端,通讯录 -> 添加朋友 -> 查找公众号 -> zhuojinsz,查找并关注。

卓锦苏州 菜单功能:

更多微信公众平台开发自定义菜单功能开发相关文章请关注PHP中文网!

如果觉得《微信公众平台开发自定义菜单功能开发》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。