一、簡介
微信公眾平臺服務(wù)號以及之前成功申請內(nèi)測資格的訂閱號都具有自訂選單的功能。開發(fā)者可利用此功能為公眾帳號的會話介面底部增加自訂選單,使用者點選選單中的選項,可以調(diào)出對應(yīng)的回覆訊息或網(wǎng)頁連結(jié)。自訂選單介面將為公眾帳號的資訊展示空間提供更多可能性。本文將針對自訂選單做簡單的開發(fā)應(yīng)用,以供讀者參考。
二、官方說明
開發(fā)者取得使用憑證後,可以使用該憑證對公眾帳號的自訂選單進(jìn)行建立、查詢和刪除等操作。 自訂選單介面可實現(xiàn)以下類型按鈕:
click(點擊事件):
用戶點擊click類型按鈕後,微信伺服器會透過訊息介面(event類型)推送點擊事件給開發(fā)者,並且?guī)习粹o開發(fā)者填寫的key值,開發(fā)者可以透過自訂的key值進(jìn)行訊息回覆。
view(造訪網(wǎng)頁):
使用者點擊view類型按鈕後,會直接跳到開發(fā)者指定的url中。
創(chuàng)建自訂選單後,由於微信客戶端緩存,需要24小時微信客戶端才會展現(xiàn)出來。建議測試時可以嘗試取消關(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 和secappid 和secappid模式中找到appid?和appsecret。
?
3.2 使用appid 和appsecret 向微信憑證取得介面請求access_token
請求位址:https://api.weixin.qq.com/cgi-bin/token?gAPPapp 請求參數(shù)說明:
grant_type:取得access_token填入client_credential
appid:第三方使用者唯一憑證
secret:第三方使用者唯一憑證金鑰,既返回說明
:{"access_token":"ACCESS_TOKEN","expires_in":7200}
回傳參數(shù)說明:
access_token:取得到的憑證
3.
<?php $APPID="wxdxxxxxxxxxxxxxxx";$APPSECRET="96xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";$TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$APPID."&secret=".$APPSECRET;$json=file_get_contents($TOKEN_URL);$result=json_decode($json,true);print_r($result);?>
結(jié)果如下:
b. _token失效。?
方法:透過POST一個特定結(jié)構(gòu)體,實現(xiàn)在微信客戶端建立自訂選單。
請求位址:https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
請求範(fàn)例:
結(jié)構(gòu)及說明:
<?php $APPID="wxdxxxxxxxxxxxxxxx";$APPSECRET="96xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";$TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$APPID."&secret=".$APPSECRET;$json=file_get_contents($TOKEN_URL);$result=json_decode($json,true);$ACC_TOKEN=$result['access_token'];echo $ACC_TOKEN;?>回傳說明:正確的Json回傳結(jié)果:
{ ?"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":"蘇州景點", ???????????"key":"suzhouScenic" ????????}, ????????{ ???????????"type":"click", ???????????"name":"蘇州美食", ???????????"key":"suzhouFood" ????????}, ????????{ ???????????"type":"click", ???????????"name":"住在蘇州", ???????????"key":"liveSuzhou" ????????}] ???}, ???{ ???????"type":"click", ???????"name":"聯(lián)系我們", ???????"key":"lianxiUs" ???}] }
{ ?"button":[?????????????//button定義該結(jié)構(gòu)為一個菜單 ??{ ???????"name":"分支主菜單名", ???????"sub_button":[ //sub_button定義子菜單 ????????{ ???????????"type":"click", //按鈕類型 ???????????"name":"分支子菜單名1", //菜單名稱 ???????????"key":"loveSuzhou" //菜單key值 ????????}, ????????{ ???????????"type":"click", ???????????"name":"分支子菜單名2", ???????????"key":"liveSuzhou" ????????}] ???}, //菜單之間用?,?分隔 ???{ ???????"type":"click", ???????"name":"獨立菜單", ???????"key":"lianxiUs" ???}] }
產(chǎn)生選單:
創(chuàng)建菜單的代碼提交到服務(wù)器后,并不是自動就出來了,需要通過執(zhí)行該代碼文件才能生成,所以,打開瀏覽器,在地址欄里輸入完整的菜單代碼URL,運行結(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;
運行結(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?"菜單刪除失敗"; }
運行結(jié)果:
測試結(jié)果:
菜單刪除成功。
七、完整代碼獲取
請訪問?樂思樂享?官方網(wǎng)盤
URL:http://pan.baidu.com/s/1c0s3Jby
八、關(guān)注
請關(guān)注?卓錦蘇州?微信公眾帳號,卓錦蘇州?基于BAE 平臺開發(fā),針對于主流的微信功能進(jìn)行開發(fā)測試。
您可以關(guān)注?卓錦蘇州?公眾帳號進(jìn)行功能測試,以及獲取新的應(yīng)用開發(fā)。
1. 登錄微信客戶端,通訊錄 -> 添加朋友 -> 查找公眾號 ->?zhuojinsz,查找并關(guān)注。
卓錦蘇州?菜單功能:
?
更多微信公眾平臺開發(fā)自訂選單功能開發(fā)相關(guān)文章請關(guān)注PHP中文網(wǎng)!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)