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 相关文章推荐
回答PHPCHINA上的几个问题:URL映射
Feb 14 PHP
PHP引用(&amp;)各种使用方法实例详解
Mar 20 PHP
php中chdir()函数用法实例
Nov 13 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
PHP中异常处理的一些方法整理
Jul 03 PHP
Twig模板引擎用法入门教程
Jan 20 PHP
php中array_unshift()修改数组key注意事项分析
May 16 PHP
PHP自定义函数格式化json数据示例
Sep 14 PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 09 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
Jun 04 PHP
laravel框架 api自定义全局异常处理方法
Oct 11 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 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+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
php如何获取文件的扩展名
2015/10/28 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
jQuery使用手册之三 CSS操作
2007/03/24 Javascript
javascript call和apply方法
2008/11/24 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
jquery构造器的实现代码小结
2011/05/16 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
[01:33:07]VGJ.T vs Newbee Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python调用shell的方法
2013/11/20 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
德国baby-markt婴儿用品瑞士网站:baby-markt.ch
2017/06/09 全球购物
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
班级年度安全计划书
2014/05/01 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
员工安全责任协议书
2016/03/22 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书
如何撰写出一份完美的商业计划书?
2019/07/12 职场文书
Python实现机器学习算法的分类
2021/06/03 Python
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript