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


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分页函数
Jul 08 PHP
php select,radio和checkbox默认选择的实现方法
May 15 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
Jan 03 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 PHP
PHP中__autoload和Smarty冲突的简单解决方法
Apr 08 PHP
Yii2增删改查之查询 where参数详细介绍
Aug 08 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
May 05 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
Feb 14 PHP
laravel框架的安装与路由实例分析
Oct 11 PHP
解析laravel使用workerman用户交互、服务器交互
Apr 28 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
提升PHP速度全攻略
2006/10/09 PHP
php 文件上传类代码
2011/08/06 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
PHP字符串的连接的简单实例
2013/12/30 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
PHP简单实现二维数组赋值与遍历功能示例
2017/10/19 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
深入认识JavaScript中的函数
2007/01/22 Javascript
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
判断脚本加载是否完成的方法
2009/05/26 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
2011/11/19 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
2015/08/17 Javascript
JQuery实现DIV其他动画效果的简单实例
2016/09/18 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
JavaScript常用工具函数汇总(浏览器环境)
2020/09/17 Javascript
jQuery实现鼠标拖动图片功能
2021/03/04 jQuery
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
浅谈ROC曲线的最佳阈值如何选取
2020/02/28 Python
简单了解如何封装自己的Python包
2020/07/08 Python
Python接收手机短信的代码整理
2020/08/02 Python
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
计算机求职信
2013/12/01 职场文书
职工运动会感言
2014/02/07 职场文书
助人为乐好少年事迹材料
2014/08/18 职场文书