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 相关文章推荐
Dedecms常用函数解析
Feb 01 PHP
php一些公用函数的集合
Mar 27 PHP
frename PHP 灵活文件命名函数 frename
Sep 09 PHP
一步一步学习PHP(3) php 函数
Feb 15 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
php引用地址改变变量值的问题
Mar 23 PHP
php二维数组排序详解
Nov 06 PHP
phpword插件导出word文件时中文乱码问题处理方案
Aug 19 PHP
php在apache环境下实现gzip配置方法
Apr 02 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
Nov 30 PHP
php实现生成验证码实例分享
Apr 10 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 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
Netflix将与CLAMP、乙一以及冲方丁等6名知名制作人合伙展开原创动画计划!
2020/03/06 日漫
PHP图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
php实现图片等比例缩放代码
2015/07/23 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
javascript数组使用调用方法汇总
2007/12/08 Javascript
自己的js工具 Event封装
2009/08/21 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
JS命名空间的另一种实现
2013/08/09 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
编写自己的jQuery提示框(Tip)插件
2015/02/05 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
JQuery点击行tr实现checkBox选中的简单实例
2016/05/26 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
原生js实现轮播图特效
2020/05/04 Javascript
Python魔术方法详解
2015/02/14 Python
介绍Python的Django框架中的QuerySets
2015/04/20 Python
Python解惑之整数比较详解
2017/04/24 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
Otel.com:折扣酒店预订
2017/08/24 全球购物
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
车间副主任岗位职责
2013/12/24 职场文书
工作过失检讨书
2014/02/23 职场文书
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
护士感人事迹
2014/05/01 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
开发房地产协议书
2014/09/14 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python