這篇文章將為大家詳細(xì)講解有關(guān)微信公眾平臺(tái)如何開發(fā)自定義菜單功能,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
龍州網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,龍州網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為龍州上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的龍州做網(wǎng)站的公司定做!一、簡介
微信公眾平臺(tái)服務(wù)號以及之前成功申請內(nèi)測資格的訂閱號都具有自定義菜單的功能。開發(fā)者可利用該功能為公眾賬號的會(huì)話界面底部增加自定義菜單,用戶點(diǎn)擊菜單中的選項(xiàng),可以調(diào)出相應(yīng)的回復(fù)信息或網(wǎng)頁鏈接。自定義菜單接口將為公眾賬號的信息展示空間提供更多可能性。
二、官方說明
開發(fā)者獲取使用憑證后,可以使用該憑證對公眾賬號的自定義菜單進(jìn)行創(chuàng)建、查詢和刪除等操作。 自定義菜單接口可實(shí)現(xiàn)以下類型按鈕:
click(點(diǎn)擊事件):
用戶點(diǎn)擊click類型按鈕后,微信服務(wù)器會(huì)通過消息接口(event類型)推送點(diǎn)擊事件給開發(fā)者,并且?guī)习粹o中開發(fā)者填寫的key值,開發(fā)者可以通過自定義的key值進(jìn)行消息回復(fù)。
view(訪問網(wǎng)頁):
用戶點(diǎn)擊view類型按鈕后,會(huì)直接跳轉(zhuǎn)到開發(fā)者指定的url中。
創(chuàng)建自定義菜單后,由于微信客戶端緩存,需要24小時(shí)微信客戶端才會(huì)展現(xiàn)出來。建議測試時(shí)可以嘗試取消關(guān)注公眾賬號后,再次關(guān)注,則可以看到創(chuàng)建后的效果。
文檔地址:http://mp.weixin.qq.com/wiki/index.php?title=%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95%E6%8E%A5%E5%8F%A3
三、獲取使用憑證
3.1 獲取appid 和appsecret
在 微信公眾平臺(tái) > 高級功能 > 開發(fā)模式中找到appid 和appsecret。
3.2 使用appid 和appsecret 向微信憑證獲取接口請求access_token
請求地址:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
請求參數(shù)說明:
grant_type:獲取access_token填寫client_credential
appid:第三方用戶憑證
secret:第三方用戶憑證密鑰,既appsecret
返回說明:
正確的Json返回結(jié)果:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
返回參數(shù)說明:
access_token:獲取到的憑證
expires_in:憑證有效時(shí)間,單位:秒
3.3 具體實(shí)現(xiàn)
a. 打印出格式
結(jié)果如下:
b. 獲取access_token
注:access_token對應(yīng)于公眾號是全局的票據(jù),重復(fù)獲取將導(dǎo)致上次獲取的access_token失效。
四、創(chuàng)建菜單
方法:通過POST一個(gè)特定結(jié)構(gòu)體,實(shí)現(xiàn)在微信客戶端創(chuàng)建自定義菜單。
請求地址:https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
請求示例:
{ "button":[ { "name":"公共查詢", "sub_button":[ { "type":"click", "name":"天氣查詢", "key":"tianQi" }, { "type":"click", "name":"公交查詢", "key":"gongJiao" }, { "type":"click", "name":"翻譯", "key":"fanYi" }] }, { "name":"蘇州本地", "sub_button":[ { "type":"click", "name":"愛上蘇州", "key":"loveSuzhou" }, { "type":"click", "name":"蘇州景點(diǎn)", "key":"suzhouScenic" }, { "type":"click", "name":"蘇州美食", "key":"suzhouFood" }, { "type":"click", "name":"住在蘇州", "key":"liveSuzhou" }] }, { "type":"click", "name":"聯(lián)系我們", "key":"lianxiUs" }] }
示例說明:
菜單結(jié)構(gòu)及說明:
{ "button":[ //button定義該結(jié)構(gòu)為一個(gè)菜單 { "name":"分支主菜單名", "sub_button":[ //sub_button定義子菜單 { "type":"click", //按鈕類型 "name":"分支子菜單名1", //菜單名稱 "key":"loveSuzhou" //菜單key值 }, { "type":"click", "name":"分支子菜單名2", "key":"liveSuzhou" }] }, //菜單之間用 , 分隔 { "type":"click", "name":"獨(dú)立菜單", "key":"lianxiUs" }] }
返回說明:
正確的Json返回結(jié)果:
{"errcode":0,"errmsg":"ok"}
提交菜單:
通過curl 提交以上的菜單數(shù)據(jù),代碼如下:
$MENU_URL="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$ACC_TOKEN;$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $MENU_URL); 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); $info = curl_exec($ch);if (curl_errno($ch)) { echo 'Errno'.curl_error($ch); } curl_close($ch);var_dump($info);
生成菜單:
創(chuàng)建菜單的代碼提交到服務(wù)器后,并不是自動(dòng)就出來了,需要通過執(zhí)行該代碼文件才能生成,所以,打開瀏覽器,在地址欄里輸入完整的菜單代碼URL,運(yùn)行結(jié)果如下:
測試結(jié)果:
菜單創(chuàng)建成功。
五、查詢菜單
查詢當(dāng)前使用的自定義菜單結(jié)構(gòu)。
請求地址:https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN
curl 代碼如下:
$MENU_URL="https://api.weixin.qq.com/cgi-bin/menu/get?access_token=".$ACC_TOKEN;$cu = curl_init(); curl_setopt($cu, CURLOPT_URL, $MENU_URL); curl_setopt($cu, CURLOPT_RETURNTRANSFER, 1);$menu_json = curl_exec($cu);$menu = json_decode($menu_json); curl_close($cu);echo $menu_json;
運(yùn)行結(jié)果:
菜單查詢成功。
六、刪除菜單
取消當(dāng)前使用的自定義菜單。
請求地址:https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=ACCESS_TOKEN
curl 代碼如下:
$MENU_URL="https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=".$ACC_TOKEN;$cu = curl_init(); curl_setopt($cu, CURLOPT_URL, $MENU_URL); curl_setopt($cu, CURLOPT_RETURNTRANSFER, 1);$info = curl_exec($cu);$res = json_decode($info); curl_close($cu);if($res->errcode == "0"){ echo "菜單刪除成功"; }else{ echo "菜單刪除失敗"; }
運(yùn)行結(jié)果:
測試結(jié)果:
菜單刪除成功。
七、完整代碼獲取
請?jiān)L問樂思樂享 官方網(wǎng)盤
URL:http://pan.baidu.com/s/1c0s3Jby
八、關(guān)注
請關(guān)注卓錦蘇州 微信公眾帳號,卓錦蘇州 基于BAE 平臺(tái)開發(fā),針對于主流的微信功能進(jìn)行開發(fā)測試。
您可以關(guān)注卓錦蘇州 公眾帳號進(jìn)行功能測試,以及獲取新的應(yīng)用開發(fā)。
1. 登錄微信客戶端,通訊錄 -> 添加朋友 -> 查找公眾號 ->zhuojinsz,查找并關(guān)注。
卓錦蘇州 菜單功能:
關(guān)于“微信公眾平臺(tái)如何開發(fā)自定義菜單功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。