@
訂閱號服務開發環境
開通訂閱號
- 首先,有興趣的朋友可以先到
微信公眾平台
注冊一個訂閱號即可
本項目直接使用測試工作號進行開發,微信公眾平台接口測試帳號申請地址如:
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測試開發圈”,獲取更多測試開發分享!