在上文裡我們介紹如何透過Force.com平台為微信帳號新增自訂選單,本文裡我們將進一步介紹如何查詢選單以及刪除選單的相關知識,最後會介紹微信平台如何進行語音識別的相關技術。
查詢選單
與建立選單類似,查詢選單有自己的接口,其中ACESS_TOKEN需要透過前文介紹到的介面獲取,通常2小時後會失效:
https://api.weixin.qq.com/cgi-bin/menu/get?access_token=[ACCESS_TOKEN]
為此首先透過前文介紹到的獲取Access_Token,獲得類似如下的真實請求URL:
https://api.weixin.qq.com/cgi-bin/menu/get?access_token=RKkFQMHmXuTWPoCzEB9lYY_bksaBzxqKqE5FG0nW_74YXREheG3IyIozIozNzxqKqE5FG0nW_74YXREheG3IyIoz9Yveb_6將相應文件保存下來打開即可看到微信帳號目前的選單結構(透過不同瀏覽器查看可能會出現顯示亂碼問題等,這是瀏覽器的預設編碼顯示問題所致,下載下來透過記事本查看即可看到對應的真實文字):
刪除選單
使用介面建立自訂選單後,開發者也可以使用介面刪除目前使用的自訂選單,刪除選單的介面如下:
https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=[ACCESS_TOKEN]
正確時的回傳JSON封包如下:
{“errcode”:0, “errmsg”:”ok”}
語音辨識
微信公眾帳號通過微信認證後可以獲得語音辨識接口,開啟語音辨識功能以後,使用者每次發送語音給微信帳號時,微信會在推送的語音訊息XML資料包中增加一個Recognition字段,該欄位為依雲識別出的文字內容。如下是開啟語音辨識後的語音XML封包範例:
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1357290913</CreateTime> <MsgType><![CDATA[voice]]></MsgType> <MediaId><![CDATA[media_id]]></MediaId> <Format><![CDATA[Format]]></Format> <Recognition><![CDATA[腾讯微信团队]]></Recognition> <MsgId>1234567890123456</MsgId> </xml>
每個參數的說明請參考下圖:
前文Force.com微信開發系列(三)申請測試帳號及回覆圖文訊息中已經包含如何解析該節點的值,並且在對應的IncomingMsg類別裡面也包含了該屬性,接下來需要做的是在doPost方法裡的判斷訊息類型部分加入對聲音類型訊息的處理代碼:
else if(msgType.equals('voice')){ rtnMsg = handleVoice(inMsg); }
這裡我們辨識訊息類型為voice類型後呼叫handleVoice方法並傳遞IncomingMsg物件來處理聲音,handleVoice方法代碼如下:
private static String handleVoice(IncomingMsg msg){ String result = '您说了: ' + msg.recognition; return composeTextReply(msg, result); }
程式碼讀取了騰訊平台辨識後傳遞過來的XML問中Recognition節點的內容並回傳給用戶,儲存程式碼後嘗試傳送語音給微信測試帳號,運行效果如下:
更多Force.com微信開發系列自訂選單進階及語音辨識相關文章請關注PHP中文網!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能