手把手教会你微信公众平台自定义菜单开发——创建菜单
一如既往的,关于微信公众平台的开发,不算出自大牛的代码,但是简单易懂适合刚入门的朋友。
首先先介绍一下逻辑,因为发现很多朋友都不能看懂微信官方的文档,当然啦,这跟你是否认真看有关的,认真看总能看懂的,废话不说了。此时,我当你已经有一个已经申请到自定义菜单开发权限的微信服务号。首先,你要在后台开发模式下面找到你的AppId 还有 AppSecret并且记下来,然后通过这两个官方发放给你的ID去获取一个ACCESS_TOKEN【官方解释是:第三方访问api资源的票据】,稍后会通过这个ACCESS_TOKEN,提交你的菜单。
下面教你怎么获取这个ACCESS_TOKEN:
访问这个链接 https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 但是访问之前,把刚才让你记下来的AppId 还有 AppSecret 替换到链接里面,然后复制到浏览器地址栏,一访问,就返回几个数据,里面最长的那段就是我们要的ACCESS_TOKEN了。【当然,如果你还是不明白这个链接怎么替换,那我只能再写明白点了就是下面https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的APPID&secret=你的APPSECRET 】
要注意的是,这个ACCESS_TOKEN 是有时间限制的,超过了一定时间就会失效。就要重新获取;另外,如果你刚获取之后,又不小心获取了一次,那么前一次获取到的值会失效,第二次的值生效。
接下来教大家怎么创建菜单,代码如下:
<?php
header("Content-type: text/html; charset=utf-8");
define("ACCESS_TOKEN", 'NYD-0s6f4yBJecqJ6QAiH7Nivh_gnWhbjs5vY1BZ9zViZAkYfw0QL5cO5ILK7lS3BkUCUrwqlDqzU9OVMaDO44Vuju7ZhXjdpJk8PxHgNf7cTs7rp6dvm-KJSkdiufqbL5niZwHM0uWJVi0mnSLGZg');
//创建菜单
function createMenu($data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".ACCESS_TOKEN);
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);
$tmpInfo = curl_exec($ch);
if (curl_errno($ch)) {
return curl_error($ch);
}
curl_close($ch);
return $tmpInfo;
}
$data = ' {
"button":[
{
"name":"时讯",
"sub_button":[
{
"type":"click",
"name":"即时新闻",
"key":"jsxw"
},
{
"type":"click",
"name":"财经早餐",
"key":"cjzc"
},
{
"type":"click",
"name":"焦点话题",
"key":"jdht"
},
{
"type":"view",
"name":"财经日历",
"url":"http://stock1.sina.cn/dpool/stockv2/universal_calendar.php?vt=4"
}]
},
{
"name":"说市",
"sub_button":[
{
"type":"click",
"name":"今日看盘",
"key":"jrkp"
},
{
"type":"view",
"name":"行情刷新",
"url":"http://XX/index.php/market/index"
},
{
"type":"click",
"name":"交易策略",
"key":"jycl"
},
{
"type":"click",
"name":"投资天地",
"key":"tztd"
},
{
"type":"click",
"name":"投资文库",
"key":"tzwk"
}]
},
{
"name":"北鼎在线",
"sub_button":[
{
"type":"view",
"name":"关于我们",
"url":"http://www.index.php/article/index/id/114"
},
{
"type":"view",
"name":"最新活动",
"url":"http://www.index.php/article/index/id/115"
},
{
"type":"view",
"name":"参与爆料",
"url":"http://www.index.php/message"
}
]
}
]
}';
echo createMenu($data);//创建菜单
?>
如代码所示,菜单有两种,一种是直接跳转到URL页面,即view;另一种,是发送指令,即click,说白了就是在客户端辅助用户的,可以看成一键发关键词。第一种很好做,填写好URL就完事了,用户点击菜单按钮,然后跳转到你填写的URL地址,缺点是URL地址不变,不够灵活。另一种就是发送指令,可以在公众账号接口开发(注意跟自定义菜单区别开)的时候,判断指令的内容,灵活处理并且动态输出不同的数据。
通过POST方式把菜单的数据发送到微信服务器,在浏览器中看到的返回提示中,你看到OK的字眼,那么就证明已经成功了。创建完菜单之后,由于微信客户端的缓存要24小时才清理一次,所以你要马上看到效果就需要重新关注你的公众账号。此时,你已经尝试到胜利的果实了。
下一次,我将告诉大家怎么利用自定义菜单动态获取图文。内容:1、一个THINKPHP搭建的微网站 2、自定义接口开发技术 3、自定义菜单 关键词:THINKPHP、 微网站、XML 微信自定义接口 微信自定义菜单 描述:用户在微信端选择指定栏目,自动获取微网站相关的若干条图文内容,每次更新都可以获取到不同的内容
我的公众号:lantuolianmeng
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
WeiXinCustomMenu.zip (15个子文件)
PHP DEMO menu.txt 5KB
WeiXinCustomMenu
CustomMenu
bin
CustomMenu.pdb 14KB
CustomMenu.dll 7KB
Default.aspx 730B
CustomMenu.csproj 4KB
Web.config 8KB
obj
Debug
CustomMenu.pdb 14KB
CustomMenu.dll 7KB
CustomMenu.csproj.FileListAbsolute.txt 329B
TempPE
Default.aspx.designer.cs 2KB
App_Data
CustomMenu.csproj.user 1KB
Properties
AssemblyInfo.cs 1KB
Default.aspx.cs 4KB
WeiXinCustomMenu.suo 15KB
WeiXinCustomMenu.sln 920B
共 15 条
- 1
资源评论
- udb1262014-03-10有帮助,如果能把切换到输入文字模式的反馈结合起来就更好了。
- 你隔壁王大爷2014-12-25和我想要的不太一样
eyonet
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功