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


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 模拟POST提交的2种方法详解
Jun 17 PHP
解析PHP 使用curl提交json格式数据
Jun 29 PHP
PHP中session变量的销毁
Feb 27 PHP
php中使用array_filter()函数过滤空数组的实现代码
Aug 19 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
php生成圆角图片的方法
Apr 07 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
php实现随机显示图片方法汇总
May 21 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
php实现等比例压缩图片
Jul 26 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 PHP
php实现简单四则运算器
Nov 29 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
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
JavaScript里四舍五入函数round用法实例
2015/04/06 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
BootStrap的Datepicker控件使用心得分享
2016/05/25 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
jQuery Validate 数组 全部验证问题
2017/01/12 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
学习使用Bootstrap页面排版样式
2017/05/11 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
基于layui的下拉列表的数据回显方法
2019/09/24 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
Django实现图片文字同时提交的方法
2015/05/26 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
django 中QuerySet特性功能详解
2019/07/25 Python
python 图像的离散傅立叶变换实例
2020/01/02 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
django ORM之values和annotate使用详解
2020/05/19 Python
python3爬虫中异步协程的用法
2020/07/10 Python
用Python制作音乐海报
2021/01/26 Python
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
书法比赛获奖感言
2014/02/10 职场文书
求职信怎么写
2014/05/23 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
离婚被告代理词
2015/05/23 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书