订阅号服务开发01-搭建开发环境
@
订阅号服务开发环境
开通订阅号
- 首先,有兴趣的朋友可以先到
微信公众平台
注册一个订阅号即可
本项目直接使用测试工作号进行开发,微信公众平台接口测试帐号申请地址如:
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测试开发圈”,获取更多测试开发分享!