PHP實現微信公眾號企業(yè)號自定義菜單接口示例
更新時間:2017年08月21日 11:31:24 作者:027099
這篇文章主要介紹了PHP實現微信公眾號企業(yè)號自定義菜單接口,結合實例形式分析了php自定義微信菜單類及微信接口相關操作技巧,需要的朋友可以參考下
本文實例講述了PHP實現微信公眾號企業(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);//通過自定義函數getCurl得到https的內容
$resultArr = json_decode($data, true);//轉為數組
return $resultArr["access_token"];//獲取access_token
}
public function creatMenu()//創(chuàng)建菜單
{
$accessToken = $this->getAccessToken();//獲取access_token
$menuPostString = '{//構造POST給微信服務器的菜單結構體
"button":[
{
"name":"產品介紹",
"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":"直客網站",
"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":"直客網站",
"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":"聯系我們",
"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);//將菜單結構體POST給微信服務器
}
}
function getCurl($url){//get https的內容
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//不輸出內容
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方式提交數據
$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;
}
?>
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP微信開發(fā)技巧匯總》、《PHP編碼與轉碼操作技巧匯總》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《PHP中json格式數據操作技巧匯總》及《PHP針對XML文件操作技巧總結》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
php中關于codeigniter的xmlrpc的類在進行數據交換時的類型問題
在使用codeigniter的xmlrpc類進行客戶端/服務端請求應答的時候,客戶端需要發(fā)送請求參數給服務端,服務端在接受到參數之后進行參數分析,分拆參數之后分配給正確的方法進行處理,處理之后反饋一個response給客戶端。2011-07-07
PHP中echo,print_r與var_dump區(qū)別分析
這篇文章主要介紹了PHP中echo,print_r與var_dump區(qū)別分析,主要講述了三者的類型本質及其操作數據類型的用法區(qū)別,非常具有實用價值,需要的朋友可以參考下2014-09-09

