1. 程式人生 > >php微信自定義菜單開發

php微信自定義菜單開發

php menu wechat

微信自定義菜單需要有一個微信服務號,在開發之前需要獲取access_token,獲取方法很簡單,登陸微信公眾賬號,進入開發者模式,就可以看到{開發者憑據}:下面AppId和AppSecret,開發者文檔說明 :

接口調用請求說明

http請求方式: GEThttps://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

參數說明

參數是否必須說明
grant_type獲取access_token填寫client_credential
appid第三方用戶唯一憑證
secret
第三方用戶唯一憑證密鑰,即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);//創建菜單
?>

運行代碼:如果顯示

{"errcode":0,"errmsg":"ok"}

則運行成功,把代碼傳上服務器,完成。


php微信自定義菜單開發