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


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学习之流程控制实现代码
Jun 09 PHP
限制ckeditor上传图片文件大小的方法
Nov 15 PHP
DEDECMS首页调用图片集里的多张图片
Jun 05 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
WordPress开发中短代码的实现及相关函数使用技巧
Jan 05 PHP
分享php多功能图片处理类
May 15 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
Jun 04 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
Aug 17 PHP
php实现构建排除当前元素的乘积数组方法
Oct 06 PHP
实例讲解PHP验证邮箱是否合格
Jan 28 PHP
phpQuery采集网页实现代码实例
Apr 02 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面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
2009/09/30 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
PHP中遇到BOM、编码导致json_decode函数无法解析问题
2014/07/02 PHP
PHP脚本自动识别验证码查询汽车违章
2016/12/20 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
iscroll.js的上拉下拉刷新时无法回弹的解决方法
2016/02/18 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
python多线程抓取天涯帖子内容示例
2014/04/03 Python
python实现向ppt文件里插入新幻灯片页面的方法
2015/04/28 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
python中return如何写
2020/06/18 Python
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
讲座主持词
2014/03/20 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫