微信公众账号服务号自定义菜单配置与实现
2016-11-17 15:08
351 查看
微信自定义菜单 实现其实非常简单。只不过很多人不知道怎么写代码 怎么去做。
下面po上我的实现方法,以备后用。
plain copy
<?php
/**
* get access token
* @author Ren Kan <rk6556(a)gmail.com>
*/
header("Content-type: text/html; charset=utf-8");
$appid = "YOUR APPID";
$appsecret = "YOUR APP SECRET";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;
$content = file_get_contents($url);
$info = json_decode($content);
echo $info->access_token;
?>
plain copy
$ACCESS_TOKEN = "THE ACCESS TOKEN GOT ABOVE";
/* 这里是视图类型的自定义菜单反馈条目
{
"type": "view",
"name": "关于我们",
"url": "http://blog.csdn.net/rk2900"
}
*/
$data = '{
"button":
[
{
"name": "绑定相关",
"sub_button":
[
{
"type": "click",
"name": "绑定账号",
"key": "BIND_DEVICE"
},
{
"type": "click",
"name": "绑定状态",
"key": "BIND_INFO"
},
{
"type": "click",
"name": "解除绑定",
"key": "BIND_CANCEL"
}
]
},
{
"name": "相册操作",
"sub_button":
[
{
"type": "click",
"name": "删除上一张",
"key": "DELETE_LAST"
},
{
"type": "click",
"name": "浏览相册",
"key": "BROWSE"
}
]
},
{
"name": "购买微相框",
"sub_button":
[
{
"type": "click",
"name": "客服电话",
"key": "PHONE"
},
{
"type": "click",
"name": "购买方式",
"key": "BUY"
}
]
}
]
}';
echo $data;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$ACCESS_TOKEN}");
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 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo $ch;
$tmpInfo = curl_exec($ch);
if (curl_errno($ch))
{
echo 'Errno'.curl_error($ch);
}
curl_close($ch);
echo $tempInfo;
/**/
以上代码构建以后,只需要终端利用命令php shellname.php依次执行即可。
效果在公众账号页面过会就会看到更新了。
效果如下:
下面po上我的实现方法,以备后用。
1、拿到access_token
[php] viewplain copy
<?php
/**
* get access token
* @author Ren Kan <rk6556(a)gmail.com>
*/
header("Content-type: text/html; charset=utf-8");
$appid = "YOUR APPID";
$appsecret = "YOUR APP SECRET";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;
$content = file_get_contents($url);
$info = json_decode($content);
echo $info->access_token;
?>
2、配置自定义菜单
[php] viewplain copy
$ACCESS_TOKEN = "THE ACCESS TOKEN GOT ABOVE";
/* 这里是视图类型的自定义菜单反馈条目
{
"type": "view",
"name": "关于我们",
"url": "http://blog.csdn.net/rk2900"
}
*/
$data = '{
"button":
[
{
"name": "绑定相关",
"sub_button":
[
{
"type": "click",
"name": "绑定账号",
"key": "BIND_DEVICE"
},
{
"type": "click",
"name": "绑定状态",
"key": "BIND_INFO"
},
{
"type": "click",
"name": "解除绑定",
"key": "BIND_CANCEL"
}
]
},
{
"name": "相册操作",
"sub_button":
[
{
"type": "click",
"name": "删除上一张",
"key": "DELETE_LAST"
},
{
"type": "click",
"name": "浏览相册",
"key": "BROWSE"
}
]
},
{
"name": "购买微相框",
"sub_button":
[
{
"type": "click",
"name": "客服电话",
"key": "PHONE"
},
{
"type": "click",
"name": "购买方式",
"key": "BUY"
}
]
}
]
}';
echo $data;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$ACCESS_TOKEN}");
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 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo $ch;
$tmpInfo = curl_exec($ch);
if (curl_errno($ch))
{
echo 'Errno'.curl_error($ch);
}
curl_close($ch);
echo $tempInfo;
/**/
以上代码构建以后,只需要终端利用命令php shellname.php依次执行即可。
效果在公众账号页面过会就会看到更新了。
效果如下:
相关文章推荐
- 微信公众账号服务号自定义菜单配置与实现
- 微信自定义菜单的创建(微信账号绑定功能的实现 Java)
- SAE服务下用java实现微信公众账号图灵机器人
- 微信公众账号开发教程(四)自定义菜单(含实例源码)——转自http://www.cnblogs.com/yank/p/3418194.html
- 为什么自定义菜单创建成功了,在微信客户端的公众账号上却不显示?
- 使用 Fiddler 上传微信公众账号 自定义菜单
- 微信公共服务平台开发(.Net 的实现)6-------自定义菜单
- 微信公众账号开发教程(四)自定义菜单【申明:来源于网络】
- 微信公众账号开发教程(四)自定义菜单(转)
- JAVA实现微信公众账号自定义消息回复
- 微信公共服务平台开发(.Net 的实现)6-------自定义菜单
- 微信公众账号开发经验整理 ----- (1)自定义菜单
- 微信公共服务平台开发(.Net 的实现)6-------自定义菜单
- 微信公共服务平台开发(.Net 的实现)6-------自定义菜单
- 微信公共服务平台开发(.Net 的实现)6-------自定义菜单
- 微信公众账号自定义菜单设置使用指南
- 微信公共服务平台开发(.Net 的实现)6-------自定义菜单
- 微信那点事儿-公众平台开发系列之自定义菜单(php版)
- 微信公众帐号开发教程第15篇-自定义菜单的view类型(访问网页)
- 微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应 (Java版)