微信利用PHP创建自定义菜单的方法


Posted in PHP onAugust 01, 2016

在使用通用接口前,你需要做以下两步工作:
1.拥有一个微信公众账号,并获取到appid和appsecret(在公众平台申请内测资格,审核通过后可获得)
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 相关文章推荐
与数据库连接
Oct 09 PHP
linux下 C语言对 php 扩展
Dec 14 PHP
PHP备份数据库生成SQL文件并下载的函数代码
Feb 05 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
Jun 19 PHP
PHP实现PDO的mysql数据库操作类
Dec 12 PHP
php使用PDO方法详解
Dec 27 PHP
使用新浪微博API的OAuth认证发布微博实例
Mar 27 PHP
PHP图片加水印实现方法
May 06 PHP
PHP数组生成XML格式数据的封装类实例
Nov 10 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
Feb 25 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
Oct 12 PHP
PHP代码加密的方法总结
Mar 13 PHP
php微信浏览器分享设置以及回调详解
Aug 01 #PHP
PHP+Apache+Mysql环境搭建教程
Aug 01 #PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
Aug 01 #PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 #PHP
利用PHP自动生成印有用户信息的名片
Aug 01 #PHP
php+ajax登录跳转登录实现思路
Jul 31 #PHP
nginx下安装php7+php5
Jul 31 #PHP
You might like
超级简单的php+mysql留言本源码
2009/11/11 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
CI操作cookie的方法分析(基于helper类库)
2016/03/28 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
javascript数组组合成字符串的脚本
2021/01/06 Javascript
javascript 打印内容方法小结
2009/11/04 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
js判断当前页面用什么浏览器打开的方法
2016/01/06 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
如何快速上手Vuex
2017/02/14 Javascript
AngularJS路由Ui-router模块用法示例
2017/05/29 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
2019/09/30 Javascript
用Python编写简单的定时器的方法
2015/05/02 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
详解pandas中MultiIndex和对象实际索引不一致问题
2019/07/23 Python
python判断自身是否正在运行的方法
2019/08/08 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
python自动生成证件号的方法示例
2021/01/14 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
明信片寄语大全
2014/04/08 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
校园安全学习心得体会
2016/01/18 职场文书
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python