?

微信公眾平臺搭建技術初探

2017-05-18 18:56穆明王迎軍
中國信息技術教育 2017年9期
關鍵詞:代碼開發者客戶端

穆明+王迎軍

目前,在眾多交流學習平臺中,微信公共平臺就是典型的代表,它讓家校共育、教學交互和交流更加方便、及時。在此,筆者將圍繞開發模式下微信公眾平臺的搭建,從URL配置、access_token獲取、菜單管理及消息接收回復等四個教學環節與同行進行交流。

URL配置

如果要啟用開發模式就需要先成為開發者,而且編輯模式和開發模式只能選擇一個,進入微信公眾平臺開發模式驗證,需要填寫URL和Token。URL必須是公網服務器的URL(指定80端口),如提交的URL為http://www.lzqsyxx.com/webmu/default.aspx。Token的選定必須與default.aspx后臺代碼所用的一致。進入開發模式的界面如圖1所示。

點擊提交后,微信服務器會向填寫的開發者服務器發送4個參數,然后需要原樣返回出來,所以在提交URL時,應先在服務器創建接口測試返回echostr參數內容,代碼如下。

access_token獲取

access_token是公眾號的全局唯一票據,公眾號調用各接口時都需使用access_token。在正常情況下,access_token的有效期為7200秒,重復獲取將導致上次獲取的access_token失效。公眾號可以使用AppID和AppSecret調用本接口來獲取access_token。AppID和AppSecret可在開發模式中獲得(需要已經成為開發者,且賬號沒有異常狀態)。注意調用所有微信接口時均需使用https協議。http接口調用請求采用GET方式,根據微信服務器生成的本公眾號的appid和secret的字符值,直接在手機客戶端瀏覽器鏈接如下URL即可(在本機創建):

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

通過上述鏈接返回一個JSON格式數據,可以得到access_token值。創建菜單正確時,微信服務器返回JSON數據包{"errcode":0,"errmsg":"ok"}提示信息,錯誤時微信服務器返回JSON數據包{"errcode":40013,"errmsg":"invalid appid"} 。

菜單管理

1.創建菜單

菜單分為兩種:①click。用戶點擊click類型按鈕后,微信服務器會通過消息接口推送消息類型為event的結構給開發者,并且帶上按鈕中開發者填寫的key值,開發者可以通過自定義的key值與用戶進行交互。②view。用戶點擊view類型按鈕后,微信客戶端將會打開開發者在按鈕中填寫的URL值(即網頁鏈接),達到打開網頁的目的。

click菜單需要填一個key,在客戶端點擊菜單事件時會用到,view只是一個菜單超鏈接。菜單數據固定是json格式,創建菜單就是開發者post發送一個json數據給微信服務器,createmenu.aspx后臺主要代碼:

menu.text里面的內容就是json示例菜單,此網頁在本機客戶端發布運行即可,無需上傳到公網服務器。

2.查詢刪除菜單

查詢和刪除菜單也很簡單,只是get請求,不需要傳數據,類似createmenu.aspx后臺程序,可以在本機客戶端發布運行selectmenu.aspx或deletemenu.aspx。但因不存在post數據給微信服務器,在客戶端瀏覽器中直接輸入"https://api.weixin.qq.com/cgi-bin/menu/get?access_token=access_token"或"https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=access_token",就可實現查詢或刪除菜單功能。查詢菜單返回的是json數據,其實就是創建菜單的menu.txt里面的內容。刪除成功返回信息提示:{"errcode":0,"errmsg":"ok"}。

消息接收回復

使用微信公眾號就是要對用戶發送的信息進行處理,以接受普通文本消息為例。從文檔上可以看出接受消息獲得的是一個XML格式文件,接受消息的途徑在申請開發模式時填寫的URL后臺程序代碼實現。當普通微信用戶通過微信服務器向公眾賬號發消息時,微信服務器將POST該消息到填寫的URL上,傳遞給開發者的文件為XML文檔。文本格式結構為:

開發者回復給微信服務器的文本消息結構格式與傳遞給開發者的文件格式(為XML文檔)結構相同,我們在公網服務器的default.aspx頁面后臺添加如圖2所示代碼:

說明:messageHelp是封裝的消息處理類庫,代碼在此省略。

猜你喜歡
代碼開發者客戶端
虛擬專用網絡訪問保護機制研究
新聞客戶端差異化發展策略
神秘的代碼
“85后”高學歷男性成為APP開發新生主力軍
一周機構凈增(減)倉股前20名
重要股東二級市場增、減持明細
16%游戲開發者看好VR
近期連續上漲7天以上的股
淺析IEEE 802.1x及其客戶端軟件
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合