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 print EOF实现方法
May 21 PHP
详解php的魔术方法__get()和__set()使用介绍
Sep 19 PHP
ini_set的用法介绍
Jan 07 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
Jul 22 PHP
php实现压缩多个CSS与JS文件的方法
Nov 11 PHP
php生成动态验证码gif图片
Oct 19 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
Mar 14 PHP
php中static和const关键字用法分析
Dec 07 PHP
PHP使用PDO操作sqlite数据库应用案例
Mar 07 PHP
PHP实现的支付宝支付功能示例
Mar 26 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
Aug 03 PHP
php文件包含的几种方式总结
Sep 19 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
PHP生成网页快照 不用COM不用扩展.
2010/02/11 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
利用a标签自动解析URL分析网址实例
2014/10/20 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
vue实现计步器功能
2019/11/01 Javascript
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
JS表格的动态操作完整示例
2020/01/13 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
Python库urllib与urllib2主要区别分析
2014/07/13 Python
Python中字符编码简介、方法及使用建议
2015/01/08 Python
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
python实现飞机大战小游戏
2019/11/08 Python
Python猜数字算法题详解
2020/03/01 Python
python中pyplot基础图标函数整理
2020/11/10 Python
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
英语硕士生求职简历的自我评价
2013/10/15 职场文书
大学老师推荐信
2014/02/25 职场文书
社团活动总结
2014/04/28 职场文书
法院四风对照检查材料思想汇报
2014/10/06 职场文书
2015年财务部年度工作总结
2015/05/19 职场文书
联村联户简报
2015/07/21 职场文书
小学信息技术教学反思
2016/02/16 职场文书
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python