php微信自定义菜单开发
2014-03-18 14:13
369 查看
微信自定义菜单需要有一个微信服务号,在开发之前需要获取access_token,获取方法很简单,登陆微信公众账号,进入开发者模式,就可以看到{开发者凭据}:下面AppId和AppSecret,开发者文档说明 :
接口调用请求说明
参数说明
复制那段https链接到浏览器地址,把相应的APPID和APPSECRET替代为你自己的Appid和AppSecret,确定有浏览器会显示一行字符串,复制这个字符串中access_token=后面的那段字符串,这个就是开发自定义菜单需要用到的。
自定义菜单代码具体如下:
<?php
header("Content-type: text/html; charset=utf-8");
$access="6NlcAQRqJONBcHFteTgq7uQ0e0ajzdZkR7mekGXzHO3tTEATwOBc-JuzfmUGkL8s98RQ0VUI8fT_sWWbQfr1tQFQq4dMT-4tAOxEhoI7pXIhHwem_OE1E_K14bSAWdDIY0ZnOGxxBhHfr5dBqs7HhA";
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access;
//创建菜单
function createMenu($data){
$curl = curl_init();//初始化curl会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); // 模拟用户使用的浏览器
// curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
// curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl);//执行curl会话
if (curl_errno($curl)) {
return curl_error($curl);
}
curl_close($curl);
return $tmpInfo;
}
$data = ' {
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"type":"click",
"name":"歌手简介",
"key":"V1001_TODAY_SINGER"
},
{
"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"
}]
}]
}';
echo createMenu($data);//创建菜单
?>
运行代码:如果显示
则运行成功,把代码传上服务器,完成。
接口调用请求说明
http请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
参数说明
参数 | 是否必须 | 说明 |
---|---|---|
grant_type | 是 | 获取access_token填写client_credential |
appid | 是 | 第三方用户唯一凭证 |
secret | 是 | 第三方用户唯一凭证密钥,即appsecret |
自定义菜单代码具体如下:
<?php
header("Content-type: text/html; charset=utf-8");
$access="6NlcAQRqJONBcHFteTgq7uQ0e0ajzdZkR7mekGXzHO3tTEATwOBc-JuzfmUGkL8s98RQ0VUI8fT_sWWbQfr1tQFQq4dMT-4tAOxEhoI7pXIhHwem_OE1E_K14bSAWdDIY0ZnOGxxBhHfr5dBqs7HhA";
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access;
//创建菜单
function createMenu($data){
$curl = curl_init();//初始化curl会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); // 模拟用户使用的浏览器
// curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
// curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl);//执行curl会话
if (curl_errno($curl)) {
return curl_error($curl);
}
curl_close($curl);
return $tmpInfo;
}
$data = ' {
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"type":"click",
"name":"歌手简介",
"key":"V1001_TODAY_SINGER"
},
{
"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"
}]
}]
}';
echo createMenu($data);//创建菜单
?>
运行代码:如果显示
{"errcode":0,"errmsg":"ok"}
则运行成功,把代码传上服务器,完成。
相关文章推荐
- 微信/易信公共平台开发(二):自定义菜单的PHP实现(提供源码)
- 微信那点事儿-公众平台开发系列之自定义菜单(php版)
- php微信开发自定义菜单
- 微信/易信公共平台开发(二):自定义菜单的PHP实现(提供源码)
- php之微信公众号开发(一)接入微信验证和创建自定义菜单
- php微信开发之自定义菜单实现
- php微信开发之自定义菜单完整流程
- PHP开发微信自定义菜单40033不转义中文的方法
- 微信公众号开发5-自定义菜单-微信开发php
- 微信服务号开发说明:测试号申请、自定义菜单添加第三方连接
- 微信公众号开发---实现微信自定义菜单创建以及消息回复等
- Java企业微信开发_04_自定义菜单
- 微信开发之自定义菜单创建
- 微信公众号企业号自定义菜单开发接口案例 php版
- 【wechat】微信开发——自定义菜单
- php微信4 自定义生成菜单
- Java微信公众平台开发(10) 微信自定义菜单的创建实现
- 微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应
- [014]微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应
- 微信自定义菜单开发案例