微信自定义菜单的处理开发示例


Posted in PHP onApril 16, 2015

自定义菜单的创建

<?php

define("APPID", "您的appid");
define("APPSECRET", "您的appsecret ");

$token_access_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET;
$res = file_get_contents($token_access_url);  //获取文件内容或获取网络请求的内容
//echo $res;
$result = json_decode($res, true);  //接受一个 JSON 格式的字符串并且把它转换为 PHP 变量
$access_token = $result['access_token'];

define("ACCESS_TOKEN", $access_token);  //将access_token定义为常量,便于使用.

$make_menu_url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" . ACCESS_TOKEN;

$menuData = ' {
   "button":[
   {
     "type":"click",
     "name":"今日歌曲",
     "key":"V1001_TODAY_MUSIC"
   },
   {
      "name":"菜单",
      "sub_button":[
      {
        "type":"view",
        "name":"搜索",
        "url":"http://www.soso.com/"
      },
      {
        "type":"view",
        "name":"视频",
        "url":"http://v.qq.com/"
      },
      {
        "type":"click",
        "name":"赞一下我们",
        "key":"V1001_GOOD"
      }]
    }]
 }';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $make_menu_url);
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 6.0; Windows NT 5.1; .NET CLR 1.1.4322)");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $menuData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$info = curl_exec($ch);

//判读执行过程中是否有错误,有则发送数据错误报告.
if (curl_errno($ch)) {
  echo 'Error' . curl_error($ch); //用户检查php运行环境中的curl模块开启情况.
}

curl_close($ch);
print_r($info); //查看post提交到微信服务器后,返回的数据.

自定义菜单的获取

<?php

define("APPID", "您的appid");
define("APPSECRET", "您的appsecret ");

$token_access_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET;
$res = file_get_contents($token_access_url);  //获取文件内容或获取网络请求的内容
$result = json_decode($res, true);  //接受一个 JSON 格式的字符串并且把它转换为 PHP 变量
$access_token = $result['access_token'];

$make_menu_url = "https://api.weixin.qq.com/cgi-bin/menu/get?access_token=" . $access_token;

$menu_json = file_get_contents($make_menu_url);

echo $menu_json;

自定义菜单的删除

<?php

define("APPID", "您的appid");
define("APPSECRET", "您的appsecret ");

$token_access_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET;
$res = file_get_contents($token_access_url);  //获取文件内容或获取网络请求的内容
$result = json_decode($res, true);  //接受一个 JSON 格式的字符串并且把它转换为 PHP 变量
$access_token = $result['access_token'];

$make_menu_url = "https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=" . $access_token;

$menu_json = file_get_contents($make_menu_url);

echo $menu_json;

以上所述就是本文的全部内容了,希望对大家做微信开发有所帮助。

PHP 相关文章推荐
php实现邮件发送并带有附件
Jan 24 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
Jul 06 PHP
php实现查询功能(数据访问)
May 23 PHP
PHP多种序列化/反序列化的方法详解
Jun 23 PHP
PHP数据库操作三:redis用法分析
Aug 16 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
详解PHP中的外观模式facade pattern
Feb 05 PHP
PHP切割汉字的常用方法实例总结
Apr 27 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 PHP
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
Mar 14 PHP
php简单操作mysql数据库的类
Apr 16 #PHP
PHP扩展程序实现守护进程
Apr 16 #PHP
php简单实现查询数据库返回json数据
Apr 16 #PHP
PHP中SESSION的注销与清除
Apr 16 #PHP
PHP中trim()函数简单使用指南
Apr 16 #PHP
php检查是否是ajax请求的方法
Apr 16 #PHP
php将日期格式转换成xx天前的格式
Apr 16 #PHP
You might like
PHP个人网站架设连环讲(一)
2006/10/09 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
php提交表单发送邮件的方法
2015/03/20 PHP
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
深入理解Node.js 事件循环和回调函数
2016/11/02 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
2017/01/17 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
node.js平台下的mysql数据库配置及连接
2017/03/31 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
input输入框内容实时监测(附代码)
2017/08/15 Javascript
jQuery动态操作表单示例【基于table表格】
2018/12/06 jQuery
详解小程序退出页面时清除定时器
2019/04/28 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
python合并文本文件示例
2014/02/07 Python
Python进行数据科学工作的简单入门教程
2015/04/01 Python
Python中MySQL数据迁移到MongoDB脚本的方法
2016/04/28 Python
Python使用email模块对邮件进行编码和解码的实例教程
2016/07/01 Python
python win32 简单操作方法
2017/05/25 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
自我鉴定书范文
2013/10/02 职场文书
仓库主管的岗位职责
2013/12/04 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
交通事故委托书范本
2014/09/28 职场文书
MySQL七大JOIN的具体使用
2022/02/28 MySQL