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中通过ADO调用Asscess数据库和COM程序
Oct 09 PHP
php自动给文章加关键词链接的函数代码
Nov 29 PHP
php把session写入数据库示例
Feb 26 PHP
php利用curl抓取新浪微博内容示例
Apr 27 PHP
thinkphp模板赋值与替换实例简述
Nov 24 PHP
PHP中SESSION的注销与清除
Apr 16 PHP
PHP对XML内容进行修改和删除实例代码
Oct 26 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
Jan 19 PHP
Thinkphp5.0自动生成模块及目录的方法详解
Apr 17 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
Jun 07 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
Sep 07 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
2010/03/24 Javascript
基于jQuery的js分页代码
2010/06/10 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
Python_LDA实现方法详解
2017/10/25 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
python对execl 处理操作代码
2020/06/22 Python
python Timer 类使用介绍
2020/12/28 Python
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
Ruby如何实现动态方法调用
2012/11/18 面试题
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
金融专业个人的自我评价
2013/10/18 职场文书
园林资料员岗位职责
2013/12/30 职场文书
三八妇女节慰问信
2015/02/14 职场文书
读书笔记格式
2015/07/02 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
Pytorch可视化的几种实现方法
2021/06/10 Python
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android