@
訂閱號服務開發環境
開通訂閱號
- 首先,有興趣的朋友可以先到
微信公眾平臺
註冊一個訂閱號即可
本專案直接使用測試工作號進行開發,微信公眾平臺介面測試帳號申請地址如:
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
微信掃一掃授權後,可開啟測試號管理頁面如下
紅色圈住的地方是重點,後面再介紹怎麼用
到了這裡,我們先了解下微信服務的資料流,這樣我們就可以瞭解上圖紅圈中的URL代表的含義了,URL和Token先不用急著填,看到後面就明白了。
建立開發者服務
建立一個django專案,提供服務,假設你是有django基礎
一、安裝依賴包:pip install wechatpy
wechat-sdk文件見:https://wechatpy.readthedocs.io/zh_CN/master/index.html
二、django專案程式碼:
views.py:
from django.http import HttpResponse
from wechatpy.exceptions import InvalidSignatureException
from wechatpy.utils import check_signature
def wechat(request):
# GET 方式用於微信公眾平臺繫結驗證
if request.method == 'GET':
signature = request.GET.get('signature', "")
timestamp = request.GET.get('timestamp', "")
nonce = request.GET.get('nonce', "")
echo_str = request.GET.get('echostr', "")
token = 'MiltonGuan'
try:
check_signature(token, signature, timestamp, nonce)
print("微信簽名驗證通過")
except InvalidSignatureException:
echo_str = '微信簽名驗證失敗'
return HttpResponse(echo_str)
url.py:
```
from django.contrib import admin
from django.urls import path
from wxapp import views
urlpatterns = [
path('admin/', admin.site.urls),
path('wx/', views.wechat),]
```
啟動服務後,訪問瀏覽器http://127.0.0.1:8000/wx/
[info] 到這裡,我們已經建立好開發者服務,但是,微信服務是不能夠推送訊息到我們開發本地的,它只能推送到一個公網能訪問的服務,因此,我們需要將我們的服務部署到公網上。
將本地服務對映到公網
顯然,將本地服務部署到公網上,對很多朋友來說都不是很現實,就算能夠部署,也不方便除錯原生程式碼,這裡介紹一個工具ngrok,可以滿足我們通過公網訪問本地服務。
- 首先我們訪問地址 https://dashboard.ngrok.com/get-started, 如下提示進行操作
操作成功後,我這邊使用的是8000埠,而不是80埠。
到這裡,我們上面建立的django服務,不僅僅只能通過本地localhost訪問了,已經將我們的本地8000埠對映到了公網,如
已經表明對映成功,只是我們還需要在setting.py 的ALLOWED_HOSTS設定中,將域名新增即可。
setting.pyALLOWED_HOSTS = ['df5a54a7.ngrok.io']
配置微信URL與Token
配置後,提交,即可進行接入驗證,注意,這裡可能需要多提交幾次。
提示“配置成功”即證明已經接入成功!同時觀察到,本地控制檯中會輸出“微信簽名驗證通過!”
到這裡,已經完成了開發者服務接入到微信公眾號中了,下一步,就是開始開發我們的服務啦~~
:-:
微信掃一掃,關注“python測試開發圈”,獲取更多測試開發分享!