php实现微信公众号创建自定义菜单功能的实例代码


Posted in PHP onJune 11, 2019

目的

创建自定义菜单,实现菜单事件。

首先获取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"}

总结

以上所述是小编给大家介绍的php实现微信公众号创建自定义菜单功能的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
在PHP的图形函数中显示汉字
Oct 09 PHP
php adodb连接带密码access数据库实例,测试成功
May 14 PHP
phpMyadmin 用户权限中英对照
Apr 02 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
php header功能的使用
Oct 28 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
Aug 14 PHP
ThinkPHP中自定义错误页面和提示页面实例
Nov 22 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
Yii学习总结之安装配置
Feb 22 PHP
php实现复制移动文件的方法
Jul 29 PHP
yii2 数据库读写分离配置示例
Feb 10 PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 10 #PHP
php简单计算权重的方法示例【适合抽奖类应用】
Jun 10 #PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 #PHP
php使用scandir()函数扫描指定目录下所有文件示例
Jun 08 #PHP
php中目录操作opendir()、readdir()及scandir()用法示例
Jun 08 #PHP
php中字符串和整数比较的操作方法
Jun 06 #PHP
使用PHPWord生成word文档的方法详解
Jun 06 #PHP
You might like
mysql时区问题
2008/03/26 PHP
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
用js编写的简单的计算器代码程序
2015/08/04 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
BootStrap selectpicker
2016/06/20 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
JavaScript实现刷新不重记的倒计时
2016/08/10 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
python获取局域网占带宽最大3个ip的方法
2015/07/09 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
2018/05/08 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
大学军训感言
2014/01/10 职场文书
外语专业毕业生自荐信
2014/04/14 职场文书
党员承诺书怎么写
2014/05/20 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
初中生物教学随笔
2015/08/15 职场文书
《灰雀》教学反思
2016/02/19 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
Javascript设计模式之原型模式详细
2021/10/05 Javascript
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python
Java实现学生管理系统(IO版)
2022/02/24 Java/Android