微信公眾平台服務號以及之前成功申請內測資格的訂閱號都具有自定義菜單的功能。開發者可利用該功能為公眾賬號的會話界面底部增加自定義菜單,用戶點擊菜單中的選項,可以調出相應的回復信息或網頁鏈接。自定義菜單接口將為公眾賬號的信息展示空間提供更多可能性。本文將針對自定義菜單做簡單的開發應用,
開發者獲取使用憑證後,可以使用該憑證對公眾賬號的自定義菜單進行創建、查詢和刪除等操作。 自定義菜單接口可實現以下類型按鈕:
click(點擊事件):
view(訪問網頁):
創建自定義菜單後,由於微信客戶端緩存,需要24小時微信客戶端才會展現出來。建議測試時可以嘗試取消關注公眾賬號後,再次關注,則可以看到創建後的效果。
文檔地址: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
在 微信公眾平台 > 高級功能 > 開發模式中找到appid 和appsecret。
3.2 使用appid 和appsecret 向微信憑證獲取接口請求access_token
請求地址:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
請求參數說明:
返回說明:
正確的Json返回結果:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
返回參數說明:
access_token:獲取到的憑證
expires_in:憑證有效時間,單位:秒
3.3 具體實現
a. 打印出格式
<?="wxdxxxxxxxxxxxxxxx"="96xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".."&secret=".=(=json_decode(,(?>
結果如下:
b. 獲取access_token
<?="wxdxxxxxxxxxxxxxxx"="96xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".."&secret=".=(=json_decode(,=['access_token' ?>
注:access_token對應於公眾號是全局唯一的票據,重復獲取將導致上次獲取的access_token失效。
方法:通過POST一個特定結構體,實現在微信客戶端創建自定義菜單。
請求地址:https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
示例說明:
菜單結構及說明:
返回說明:
正確的Json返回結果:
{"errcode":0,"errmsg":"ok"}
提交菜單:
通過curl 提交以上的菜單數據,代碼如下:
="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=". =, CURLOPT_URL, , CURLOPT_CUSTOMREQUEST, "POST", CURLOPT_SSL_VERIFYPEER, , CURLOPT_SSL_VERIFYHOST, , CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)', CURLOPT_FOLLOWLOCATION, 1, CURLOPT_AUTOREFERER, 1, CURLOPT_POSTFIELDS, , CURLOPT_RETURNTRANSFER, = curl_exec( (curl_errno( 'Errno'.curl_error(();
運行結果:
測試結果:
菜單創建成功。
查詢當前使用的自定義菜單結構。
請求地址:https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN
curl 代碼如下:
="https://api.weixin.qq.com/cgi-bin/menu/get?access_token=". =, CURLOPT_URL, , CURLOPT_RETURNTRANSFER, 1 = curl_exec( = json_decode( ;
取消當前使用的自定義菜單。
請求地址:https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=ACCESS_TOKEN
curl 代碼如下:
="https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=". =, CURLOPT_URL, , CURLOPT_RETURNTRANSFER, 1 = curl_exec( = json_decode((->errcode == "0" "菜單刪除成功" "菜單刪除失敗"
運行結果:
測試結果:
菜單刪除成功。
七、完整代碼獲取
請到QQ群213260412共享裡下載使用。
八、關注
請關注 卓錦蘇州 微信公眾帳號,卓錦蘇州 基於SAE 平台開發,針對於主流的微信功能進行開發測試。
您可以關注 卓錦蘇州 公眾帳號進行功能測試,以及獲取新的應用開發。
1. 登錄微信客戶端,朋友們 -> 添加朋友 -> 搜號碼 -> zhuojinsz,查找並關注。
2. 掃描二維碼:
卓錦蘇州菜單功能:
目前菜單具體功能還在開發之中,會陸續更新,敬請期待。。。
We Believe, Great People Share Knowledge...