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中for循环语句的几种变型
Nov 26 PHP
php面向对象全攻略 (十七) 自动加载类
Sep 30 PHP
Wordpress php 分页代码
Oct 21 PHP
根据中文裁减字符串函数的php代码
Dec 03 PHP
Symfony核心类概述
Mar 17 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
对laravel in 查询的使用方法详解
Oct 09 PHP
PHP实现微信公众号验证Token的示例代码
Dec 16 PHP
laravel框架中间件简单使用方法示例
Jan 25 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
Dedecms常用函数解析
2008/02/01 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
PHP _construct()函数讲解
2019/02/03 PHP
jqgrid 简单学习笔记
2011/05/03 Javascript
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
2013/10/11 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
2020/07/19 Javascript
详解 javascript对象创建模式
2020/10/30 Javascript
python实现2014火车票查询代码分享
2014/01/10 Python
Python中的类与对象之描述符详解
2015/03/27 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
用python处理图片实现图像中的像素访问
2018/05/04 Python
ubuntu系统下使用pm2设置nodejs开机自启动的方法
2018/05/12 NodeJs
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
python and or用法详解
2019/06/26 Python
Python三元运算与lambda表达式实例解析
2019/11/30 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
python3代码中实现加法重载的实例
2020/12/03 Python
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
服务标语大全
2014/06/18 职场文书
MongoDB 常用的crud操作语句
2021/06/20 MongoDB