一、準備環境 1. 雲主機和功能變數名稱 雲主機 推薦使用阿裡雲或者騰訊雲的ecs主機,如果有學生證的話都很便宜。 功能變數名稱 國內的話,在阿裡雲或者騰訊雲購買都可以,國內功能變數名稱都需要備案,備案按照文檔去做。 ssl證書 雲服務商一般都有免費的ssl證書申請,也可以使用let's encrypt的證書。 2. 公眾 ...
一、準備環境
1. 雲主機和功能變數名稱
雲主機
推薦使用阿裡雲或者騰訊雲的ecs主機,如果有學生證的話都很便宜。
功能變數名稱
國內的話,在阿裡雲或者騰訊雲購買都可以,國內功能變數名稱都需要備案,備案按照文檔去做。
ssl證書
雲服務商一般都有免費的ssl證書申請,也可以使用let's encrypt的證書。
2. 公眾號測試賬號
在申請到認證公眾號之前,你可以先通過測試號申請系統,快速申請一個公眾號測試賬號,立即開始介面測試開發。
二、hello world例子
最簡單的Hello World, 會給收到的每一條信息回覆 Hello World
import werobot
robot = werobot.WeRoBot(token='tokenhere')
@robot.handler
def hello(message):
return 'Hello World!'
# 讓伺服器監聽在 0.0.0.0:80
robot.config['HOST'] = '0.0.0.0'
robot.config['PORT'] = 80
robot.run()
二、操作過程
1. 伺服器上部署代碼
首先通過pip安裝werobot
pip install werobot
2. 創建hello world例子
#coding:utf-8
# Filename:hello_world.py
# 驗證伺服器,並且收到的所有消息都回覆'Hello World!'
import werobot
robot = werobot.WeRoBot(token='your token')
# @robot.handler 處理所有消息
@robot.handler
def hello(message):
return 'Hello World!'
# 讓伺服器監聽在 0.0.0.0:80
robot.config['HOST'] = '0.0.0.0'
robot.config['PORT'] = 80
robot.run()
'your token' 處要填寫你自己的Token,要保證這個token跟公眾號平臺的token一致,然後運行。
3. 驗證伺服器
在公眾號的基本配置頁面填好配置信息,主要是url地址、token的填寫,點提交,如果沒報錯就驗證成功,最後點擊“啟用配置”。
三、原理解釋
- 微信公眾號開發其實就是web開發,多了些appId、appsecret等概念,多一些特殊的驗證過程。
- WeRoBot 會解析微信伺服器發來的消息, 並將消息轉換成成 Message 或者是 Event 。 Message 表示用戶發來的消息,如文本消息、圖片消息; Event 則表示用戶觸發的事件, 如關註事件、掃描二維碼事件。 在消息解析、轉換完成後, WeRoBot 會將消息轉交給 Handler 進行處理,並將 Handler 的返回值返回給微信伺服器。
- 可以理解為,例子代碼中hello函數的理解最重要,可理解為,當收到用戶消息時,就進入函數,函數的返回結果會返回給微信伺服器,微信伺服器再轉發給當前的微信用戶。
- 實際效果為,用戶關註公眾號後,每次發消息,都收到'Hello World!'文本。
四、練習題
通過查文檔、瞭解robot.text, robot.filter註解的作用,把功能修改成,用戶發送'hello'時,伺服器返回'Hello World!',其他時間返回'謝謝'文本。