日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

微信公众平台开发(24) 自定义菜单功能开发

發布時間:2025/3/21 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信公众平台开发(24) 自定义菜单功能开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文:?http://www.cnblogs.com/imaker/p/5491433.html

?

一、簡介

微信公眾平臺服務號以及之前成功申請內測資格的訂閱號都具有自定義菜單的功能。開發者可利用該功能為公眾賬號的會話界面底部增加自定義菜單,用戶點擊菜單中的選項,可以調出相應的回復信息或網頁鏈接。自定義菜單接口將為公眾賬號的信息展示空間提供更多可能性。本文將針對自定義菜單做簡單的開發應用,以供讀者參考。

二、官方說明

開發者獲取使用憑證后,可以使用該憑證對公眾賬號的自定義菜單進行創建、查詢和刪除等操作。 自定義菜單接口可實現以下類型按鈕:

click(點擊事件):

用戶點擊click類型按鈕后,微信服務器會通過消息接口(event類型)推送點擊事件給開發者,并且帶上按鈕中開發者填寫的key值,開發者可以通過自定義的key值進行消息回復。

view(訪問網頁):

用戶點擊view類型按鈕后,會直接跳轉到開發者指定的url中。

創建自定義菜單后,由于微信客戶端緩存,需要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

請求參數說明:

grant_type:獲取access_token填寫client_credential

appid:第三方用戶唯一憑證

secret:第三方用戶唯一憑證密鑰,既appsecret

返回說明:

正確的Json返回結果:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

返回參數說明:

access_token:獲取到的憑證

expires_in:憑證有效時間,單位:秒

3.3 具體實現

a. 打印出格式

<?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);?>

結果如下:

b. 獲取access_token

<?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;?>

注:access_token對應于公眾號是全局唯一的票據,重復獲取將導致上次獲取的access_token失效。?

四、創建菜單

方法:通過POST一個特定結構體,實現在微信客戶端創建自定義菜單。

請求地址: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":"蘇州景點","key":"suzhouScenic"},{"type":"click","name":"蘇州美食","key":"suzhouFood"},{"type":"click","name":"住在蘇州","key":"liveSuzhou"}]},{"type":"click","name":"聯系我們","key":"lianxiUs"}] }

示例說明:

菜單結構及說明:

{"button":[ //button定義該結構為一個菜單{"name":"分支主菜單名",  "sub_button":[    //sub_button定義子菜單{"type":"click",  //按鈕類型"name":"分支子菜單名1",  //菜單名稱"key":"loveSuzhou"  //菜單key值},{"type":"click","name":"分支子菜單名2","key":"liveSuzhou"}]},    //菜單之間用 , 分隔{"type":"click","name":"獨立菜單","key":"lianxiUs"}] }

返回說明:

正確的Json返回結果:

{"errcode":0,"errmsg":"ok"}

提交菜單:

通過curl 提交以上的菜單數據,代碼如下:

$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);

生成菜單:

創建菜單的代碼提交到服務器后,并不是自動就出來了,需要通過執行該代碼文件才能生成,所以,打開瀏覽器,在地址欄里輸入完整的菜單代碼URL,運行結果如下:

測試結果:

菜單創建成功。

五、查詢菜單

查詢當前使用的自定義菜單結構。

請求地址: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;

運行結果:

菜單查詢成功。

六、刪除菜單

取消當前使用的自定義菜單。

請求地址: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 "菜單刪除失敗"; }

運行結果:

測試結果:

菜單刪除成功。

七、完整代碼獲取

請訪問?樂思樂享?官方網盤

URL:http://pan.baidu.com/s/1c0s3Jby

轉載于:https://www.cnblogs.com/imaker/p/6284339.html

總結

以上是生活随笔為你收集整理的微信公众平台开发(24) 自定义菜单功能开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。