微信利用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 相关文章推荐
PHP新手上路(十二)
Oct 09 PHP
PHP 的几个配置文件函数
Dec 21 PHP
IP138 IP地址查询小偷实现代码
Feb 15 PHP
PHP垃圾回收机制简单说明
Jul 22 PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
Oct 20 PHP
[原创]php使用curl判断网页404(不存在)的方法
Jun 23 PHP
PHP利用二叉堆实现TopK-算法的方法详解
Apr 24 PHP
php生出随机字符串
Jul 06 PHP
PHP-X系列教程之内置函数的使用示例
Oct 16 PHP
phpfpm的作用和用法
Oct 10 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
Dec 16 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脚本
2006/11/26 PHP
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
PHP实现文件下载断点续传详解
2014/10/15 PHP
简单实现php上传文件功能
2017/09/21 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
JavaScript代码实现左右上下自动晃动自动移动
2016/04/08 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
React Router基础使用
2017/01/17 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
Python中运行并行任务技巧
2015/02/26 Python
老生常谈Python序列化和反序列化
2017/06/28 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
python小白切忌乱用表达式
2020/05/29 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
详解Python IO编程
2020/07/24 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
物业管理毕业生个人的求职信
2013/11/30 职场文书
安全生产活动月方案
2014/03/09 职场文书
协议书范本
2014/04/23 职场文书
企业战略合作意向书
2015/05/08 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
Oracle 触发器trigger使用案例
2022/02/24 Oracle
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫