PHP實現(xiàn)微信公眾號企業(yè)號自定義菜單接口示例
本文實例講述了PHP實現(xiàn)微信公眾號企業(yè)號自定義菜單接口。分享給大家供大家參考,具體如下:
define(AppId, "wx666cae44xxxxxx2");//定義AppId,需要在微信公眾平臺申請自定義菜單后會得到
define(AppSecret, "d77026a714d443a01d0229xxxxxxxx");//定義AppSecret,需要在微信公眾平臺申請自定義菜單后會得到
include("menu.php");//引入微信類
$wechatObj = new Wechat();//實例化微信類
$creatMenu = $wechatObj->creatMenu();//創(chuàng)建菜單
微信類(menu.php)代碼
<?
class Wechat
{
private function getAccessToken() //獲取access_token
{
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".AppId."&secret=".AppSecret;
$data = getCurl($url);//通過自定義函數(shù)getCurl得到https的內(nèi)容
$resultArr = json_decode($data, true);//轉(zhuǎn)為數(shù)組
return $resultArr["access_token"];//獲取access_token
}
public function creatMenu()//創(chuàng)建菜單
{
$accessToken = $this->getAccessToken();//獲取access_token
$menuPostString = '{//構(gòu)造POST給微信服務(wù)器的菜單結(jié)構(gòu)體
"button":[
{
"name":"產(chǎn)品介紹",
"sub_button":[
{
"type":"view",
"name":"分銷A型",
"url":"http://www.yourwebname.com/fenxiao/jianjie/soft.html"
},
{
"type":"view",
"name":"分銷B型",
"url":"http://www.yourwebname.com/fenxiaob/jianjie/soft.html"
},{
"type":"view",
"name":"地接批發(fā)",
"url":"http://www.yourwebname.com/dijie/jianjie/soft.html"
},{
"type":"view",
"name":"精簡組團",
"url":"http://www.yourwebname.com/zutuan/jianjie/soft.html"
},{
"type":"view",
"name":"直客網(wǎng)站",
"url":"http://www.yourwebname.com/tripal/jianjie/soft.html"
}]
},
{
"name":"申請試用",
"sub_button":[
{
"type":"click",
"name":"分銷A型",
"key":"fxa"
},
{
"type":"click",
"name":"分銷B型",
"key":"fxb"
},
{
"type":"click",
"name":"地接批發(fā)",
"key":"dj"
},
{
"type":"click",
"name":"精簡組團",
"key":"zutuan"
},
{
"type":"click",
"name":"直客網(wǎng)站",
"key":"zhike"
}
]
},
{
"name":"博縱在線",
"sub_button":[
{
"type":"view",
"name":"企業(yè)介紹",
"url":"http://www.yourwebname.com/about.html"
},
{
"type":"view",
"name":"公司新聞",
"url":"http://www.yourwebname.com/news/company/"
},
{
"type":"view",
"name":"聯(lián)系我們",
"url":"http://www.yourwebname.com/contact.html"
}
]
}
]
}';
$menuPostUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$accessToken;//POST的url
$menu = dataPost($menuPostString, $menuPostUrl);//將菜單結(jié)構(gòu)體POST給微信服務(wù)器
}
}
function getCurl($url){//get https的內(nèi)容
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//不輸出內(nèi)容
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
curl_close ($ch);
return $result;
}
function dataPost($post_string, $url) {//POST方式提交數(shù)據(jù)
$context = array ('http' => array ('method' => "POST", 'header' => "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) \r\n Accept: */*", 'content' => $post_string ) );
$stream_context = stream_context_create ( $context );
$data = file_get_contents ( $url, FALSE, $stream_context );
return $data;
}
?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP微信開發(fā)技巧匯總》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP中json格式數(shù)據(jù)操作技巧匯總》及《PHP針對XML文件操作技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
詳解Swoole TCP流數(shù)據(jù)邊界問題解決方案
本文主要介紹了Swoole TCP流數(shù)據(jù)邊界問題解決方案,對Swoole感興趣的同學(xué),可以參考下。2021-05-05
php中關(guān)于codeigniter的xmlrpc的類在進行數(shù)據(jù)交換時的類型問題
在使用codeigniter的xmlrpc類進行客戶端/服務(wù)端請求應(yīng)答的時候,客戶端需要發(fā)送請求參數(shù)給服務(wù)端,服務(wù)端在接受到參數(shù)之后進行參數(shù)分析,分拆參數(shù)之后分配給正確的方法進行處理,處理之后反饋一個response給客戶端。2011-07-07
php設(shè)計模式 State (狀態(tài)模式)
允許一個對象在其內(nèi)部狀態(tài)改變時改變它的行為,對象看起來似乎修改了它所屬的類2011-06-06
解析VS2010利用VS.PHP插件調(diào)試PHP的方法
以下是對VS2010利用VS.PHP插件調(diào)試PHP的方法進行了詳細的分析介紹,需要的朋友可以過來參考下2013-07-07
PHP中echo,print_r與var_dump區(qū)別分析
這篇文章主要介紹了PHP中echo,print_r與var_dump區(qū)別分析,主要講述了三者的類型本質(zhì)及其操作數(shù)據(jù)類型的用法區(qū)別,非常具有實用價值,需要的朋友可以參考下2014-09-09

