目录
订阅号服务开发环境
开通订阅号
创建开发者服务
将本地服务映射到公网
配置微信 URL 与 Token
@
订阅号服务开发环境
开通订阅号
首先, 有兴趣的朋友可以先到微信公众平台注册一个订阅号即可
本项目直接使用测试工作号进行开发, 微信公众平台接口测试帐号申请地址如:
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.py
ALLOWED_HOSTS = ['df5a54a7.ngrok.io']
配置微信 URL 与 Token
配置后, 提交, 即可进行接入验证, 注意, 这里可能需要多提交几次.
提示 "配置成功" 即证明已经接入成功! 同时观察到, 本地控制台中会输出 "微信签名验证通过!"
到这里, 已经完成了开发者服务接入到微信公众号中了, 下一步, 就是开始开发我们的服务啦~~
:-:
来源: https://www.cnblogs.com/guanfuchang/p/10840958.html