PHP实现创建微信自定义菜单的方法示例


Posted in PHP onJuly 14, 2017

本文实例讲述了PHP实现创建微信自定义菜单的方法。分享给大家供大家参考,具体如下:

在使用通用接口前,你需要做以下两步工作:

1.拥有一个微信公众账号,并获取到appidappsecret(在公众平台申请内测资格,审核通过后可获得)

2.通过获取凭证接口获取到access_token

注意:

access_token是第三方访问api资源的票据;

access_token对应于公众号是全局唯一的票据,重复获取将导致上次获取的access_token失效。

访问下面这个地址(注意替换你的appid和secret):

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

然后在浏览器能看到一下返回信息:

{"access_token":"这里就是你的access_token","expires_in":7200}

创建自定义菜单:

<?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);
//echo getMenu();
//echo deleteMenu();

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP配置文件中最常用四个ini函数
Mar 19 PHP
PHP中return 和 exit 、break和contiue 区别与用法
Apr 09 PHP
解析PHP缓存函数的使用说明
May 10 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
Dec 03 PHP
PHP curl 抓取AJAX异步内容示例
Sep 09 PHP
10个简化PHP开发的工具
Dec 25 PHP
php实现简单文件下载的方法
Jan 30 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
Mar 27 PHP
PHP二维关联数组的遍历方式(实例讲解)
Oct 18 PHP
php如何计算两坐标点之间的距离
Dec 29 PHP
php redis setnx分布式锁简单原理解析
Oct 23 PHP
php的lavarel框架中join和orWhere的用法
Dec 28 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 #PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 #PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
Jul 13 #PHP
PHP微信PC二维码登陆的实现思路
Jul 13 #PHP
PHP基于socket实现客户端和服务端通讯功能
Jul 13 #PHP
php中请求url的五种方法总结
Jul 13 #PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
Jul 13 #PHP
You might like
php+mysql 实现身份验证代码
2010/03/24 PHP
php class类的用法详细总结
2013/10/17 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
javascript之大字符串的连接的StringBuffer 类
2007/05/08 Javascript
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
jQuery下拉友情链接美化效果代码分享
2015/08/26 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
React组件对子组件children进行加强的方法
2019/06/23 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
Python实现计算最小编辑距离
2016/03/17 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
个人担保书格式范文
2014/05/12 职场文书
硕士生找工作求职信
2014/07/05 职场文书
平面设计师岗位职责
2014/09/18 职场文书
预备党员自我评价范文
2015/03/04 职场文书
个性与发展自我评价
2015/03/06 职场文书
培训通知
2015/04/17 职场文书
原生Js 实现的简单无缝滚动轮播图的示例代码
2021/05/10 Javascript
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android