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":"精簡組團(tuán)", "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":"精簡組團(tuán)", "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-05php中關(guān)于codeigniter的xmlrpc的類在進(jìn)行數(shù)據(jù)交換時的類型問題
在使用codeigniter的xmlrpc類進(jìn)行客戶端/服務(wù)端請求應(yīng)答的時候,客戶端需要發(fā)送請求參數(shù)給服務(wù)端,服務(wù)端在接受到參數(shù)之后進(jìn)行參數(shù)分析,分拆參數(shù)之后分配給正確的方法進(jìn)行處理,處理之后反饋一個response給客戶端。2011-07-07php設(shè)計模式 State (狀態(tài)模式)
允許一個對象在其內(nèi)部狀態(tài)改變時改變它的行為,對象看起來似乎修改了它所屬的類2011-06-06解析VS2010利用VS.PHP插件調(diào)試PHP的方法
以下是對VS2010利用VS.PHP插件調(diào)試PHP的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-07-07PHP中echo,print_r與var_dump區(qū)別分析
這篇文章主要介紹了PHP中echo,print_r與var_dump區(qū)別分析,主要講述了三者的類型本質(zhì)及其操作數(shù)據(jù)類型的用法區(qū)別,非常具有實用價值,需要的朋友可以參考下2014-09-09