微信利用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 相关文章推荐
discuz安全提问算法
Jun 06 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
Jun 27 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
May 10 PHP
PHP使用Alexa API获取网站的Alexa排名例子
Jun 12 PHP
php匹配字符中链接地址的方法
Dec 22 PHP
php发送与接收流文件的方法
Feb 11 PHP
php微信开发之百度天气预报
Nov 18 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
PHP简单实现正则匹配省市区的方法
Apr 13 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 PHP
php的RSA加密解密算法原理与用法分析
Jan 23 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生成二维码的几种方式整理及使用实例
2013/06/03 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
Element-UI 使用el-row 分栏布局的教程
2020/10/26 Javascript
js实现简单商品筛选功能
2021/02/02 Javascript
[48:28]完美世界DOTA2联赛循环赛FTD vs Magma第二场 10月30日
2020/10/31 DOTA
Django unittest 设置跳过某些case的方法
2018/12/26 Python
Python中按值来获取指定的键
2019/03/04 Python
Python实现最大子序和的方法示例
2019/07/05 Python
python递归法解决棋盘分割问题
2019/07/17 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
python如何使用代码运行助手
2020/07/03 Python
Python如何执行系统命令
2020/09/23 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
python 解决函数返回return的问题
2020/12/05 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
优秀安全员事迹材料
2014/05/11 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript