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部分常见问题总结
Mar 27 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
Nov 07 PHP
PHP中的函数-- foreach()的用法详解
Jun 24 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
Oct 16 PHP
ThinkPHP CURD方法之field方法详解
Jun 18 PHP
php实现与erlang的二进制通讯实例解析
Jul 23 PHP
ThinkPHP安装和设置
Jul 27 PHP
浅析Yii2中GridView常见操作
Apr 22 PHP
php 在字符串指定位置插入新字符的简单实现
Jun 28 PHP
php使用file函数、fseek函数读取大文件效率对比分析
Nov 04 PHP
PDO::prepare讲解
Jan 29 PHP
laravel中的fillable和guarded属性详解
Oct 23 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
解决laravel查询构造器中的别名问题
2019/10/17 PHP
jQuery 白痴级入门教程
2009/11/11 Javascript
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
python调用shell的方法
2013/11/20 Python
python处理圆角图片、圆形图片的例子
2014/04/25 Python
Python文件和目录操作详解
2015/02/08 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
Python如何实现转换URL详解
2019/07/02 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
Python itertools.product方法代码实例
2020/03/27 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
运动会广播稿400字
2014/01/25 职场文书
党员对照检查材料
2014/09/22 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
600字作文之感受大自然
2019/11/27 职场文书