php实现微信公众号创建自定义菜单功能的实例代码
发布:smiling 来源: PHP粉丝网 添加日期:2021-11-25 14:58:25 浏览: 评论:0
这篇文章主要介绍了php实现微信公众号创建自定义菜单功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下。
目的
创建自定义菜单,实现菜单事件。
首先获取Access_Token
接口:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
我用的是测试号,修改APPID和APPSECRET,然后浏览器访问上面这个Url即可生成Access_Token
然后配置菜单的事件,caidan.php
- <?php
- header("Content-type: text/html; charset=utf-8");
- define("ACCESS_TOKEN", "生成的Access_Token");
- //创建菜单
- 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;
- }
- //获取菜单
- function getMenu(){
- return file_get_contents("https://api.weixin.qq.com/cgi-bin/menu/get?access_token=".ACCESS_TOKEN);
- }
- //删除菜单
- function deleteMenu(){
- return file_get_contents("https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=".ACCESS_TOKEN);
- }
- $data = '{
- "button":[
- {
- "type":"click",
- "name":"首页",
- "key":"home"
- },
- {
- "type":"click",
- "name":"简介",
- "key":"introduct"
- },
- {
- "name":"菜单",
- "sub_button":[
- {
- "type":"click",
- "name":"hello word",
- "key":"V1001_HELLO_WORLD"
- },
- {
- "type":"click",
- "name":"赞一下我们",
- "key":"V1001_GOOD"
- }]
- }]
- }';
- echo createMenu($data);
浏览器访问caidan.php
正确时的返回JSON数据包如下:
{"errcode":0,"errmsg":"ok"}
错误时的返回JSON数据包如下(示例为无效菜单名长度):
{"errcode":40018,"errmsg":"invalid button name size"}
Tags: php创建自定义菜单
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)