最近接触到微信公众号开发,首先就是爬这个关于自定义菜单的坑了,看了文档一段时间加上百度的总结了实现的方法
上代码,这里要说明我直接用了本身的access——token令牌,这个本身根据本身的令牌来实现。关于appid跟appsercet的获取就在这里不解释了,不会能够直接百度。下面是简单实现菜单的方法,本身能够封装一些不少的函数,详情参考微信开发文档便可。最后附上本身的图php
<?php
//微信自定义菜单html
header("Content-type: text/html; charset=utf-8"); //define("ACCESS_TOKEN", "5b9FZhqOXvEf2GthK76FF03kio0uUST9uqUT9L3mLli1qKdPp4dF7Ik0ZiKLGlWs4DQHMB-IveCgNvxEuDlMIrqloxrXa1IaYy5cGB3Gp9TvP_Yh-o1H-bi8Nq9BXE3JMAUbADACQK");`
function get_access_token() {json
$appid = "你的微信公众号 appid"; $appsecret = "你的微信公众号 appsercet"; $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); curl_close($ch); $jsoninfo = json_decode($output, true); $access_token = $jsoninfo["access_token"]; return $access_token;
}api
//建立菜单
function createMenu($data) {安全
$access_token = get_access_token(); var_dump($access_token); if (!$access_token) return; $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); $tmpInfo = curl_exec($ch); if (curl_errno($ch)) { return curl_error($ch); } curl_close($ch); return $tmpInfo;
}微信
//获取菜单
function getMenu() {微信开发
return file_get_contents("https://api.weixin.qq.com/cgi-bin/menu/get?access_token=" . ACCESS_TOKEN);
}app
//删除菜单
function deleteMenu() {curl
return file_get_contents("https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=" . ACCESS_TOKEN);
}函数
$data = '{
"button":[ { "name":"安全动态", "sub_button":[ { "type":"click", "name":"一天一句", "key":"V1001_GOOD" }, { "type":"click", "name":"安全通知", "key":"V1001_GOOD" }, { "type":"click", "name":"重要通知", "key":"V1001_GOOD" }, { "type":"click", "name":"经验交流", "key":"V1001_HELLO_WORLD" }, { "type":"click", "name":"安全热点", "key":"V1001_GOOD" }] }, { "name":"小安微课堂", "sub_button":[ { "type":"click", "name":"学习记录", "key":"V1001_GOOD" }, { "type":"click", "name":"安全学习", "key":"V1001_GOOD" }, { "type":"click", "name":"本质安全", "key":"V1001_HELLO_WORLD" }, { "type":"click", "name":"班组安全", "key":"V1001_GOOD" }] }, { "name":"测试评估", "sub_button":[ { "type":"click", "name":"联系小安", "key":"V1001_GOOD" }, { "type":"click", "name":"投票活动", "key":"V1001_GOOD" }, { "type":"click", "name":"成绩查询", "key":"V1001_GOOD" }, { "type":"click", "name":"考试测评", "key":"V1001_HELLO_WORLD" }, { "type":"click", "name":"用户登陆", "key":"V1001_GOOD" }] } ]
}';
echo createMenu($data);
?>