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 UTF8编码内的繁简转换类
Jul 20 PHP
php 获取远程网页内容的函数
Sep 08 PHP
PHP数据类型之布尔型的介绍
Apr 28 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
部署PHP项目应该注意的几点事项分享
Dec 20 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
微信公众平台接口开发入门示例
Dec 24 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
PHP递归删除多维数组中的某个值
Apr 17 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
Apr 26 PHP
php实现的后台表格分页功能示例
Oct 23 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 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
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
php基于协程实现异步的方法分析
2019/07/17 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
jQuery的animate函数学习记录
2014/08/08 Javascript
JS跨域问题详解
2014/11/25 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
Django中模版的子目录与include标签的使用方法
2015/07/16 Python
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
python开发中module模块用法实例分析
2015/11/12 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
python中使用you-get库批量在线下载bilibili视频的教程
2020/03/10 Python
python实现简单学生信息管理系统
2020/04/09 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
手机销售员岗位职责
2015/04/11 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python