前言
使用插件:wechatpy == 1.8.14 (公众号接口的处理模块)
django-tastypie == 0.12.2 (接口模块)
这里我没有公众号,所以用测试号开发
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html
http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
接口配置和JS接口安全域名设置
验证消息的确来自微信服务器
Django代码(未用插件):
1 | import hashlib |
Django代码(使用插件wechatpy
):
1 | from django.views.decorators.csrf import csrf_exempt, csrf_protect |
获取Access token
Django代码(未用插件):
1 | import logging |
redis在django中的配置和使用可以看这里:https://www.cnblogs.com/alexzhang92/p/9529708.html
Django代码(使用插件wechatpy
):
wechatpy 对于微信的 AccessToken 会在内部自动处理,一般单线程情况下情况下开发者不需要手动去操作,但是多线程情况下(如使用django, celery),务必使用持久化存储。做法如下:
1 | from wechatpy.session.redisstorage import RedisStorage |
单线程情况下,如果开发者需要访问 AccessToken,可以通过
wechat_client.access_token
获取到。详细可以看:https://wechatpy.readthedocs.io/zh_CN/stable/quickstart.html (尾页)
从下面开始都使用仅仅使用wechatpy框架进行代码编写
模板消息接口
注意:只有认证后的服务号可以申请模板消息的使用权限
发送模板消息需要指定模板ID
和接收者openid
模板需要从服务号所选行业的模板库中的模板进行调用,不能自定义(自定义要提交审核)
因为一次只能发送给一个接收者,所以需要先获取用户列表
1 | # 前端通过post提供参数 |
模板消息发送后,会有回调,需要解析XML得知是否发送成功,解析XML的方式可以看:[python解析XML]
了解XML可以看:https://www.runoob.com/xml/xml-tutorial.html
这里指的一提的是:前端页面通过textarea绑定模板内容的时候,只允许用户修改DATA, 这样子后台拿到的content才可以保证正确的拿到数据
1 | $scope.obj = data; |
本文链接: http://www.ionluo.cn/blog/posts/a547ced4.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!