其实这个功能一早就完成了,但是直到今天才有空把它记录下来~~
准备工作
在正式开始之前,需要做一些准备:
a: 安装好wechat_sdk(怎么安装请看我前面写<<基于Django的微信公众号开发(2) -- 在sae添加第三方包>>);
b: 成功通过了微信公众号的开发者认证;
c: 新建一个应用(不是必须的), 我新建了一个dict应用.
需要注意的事项
在正式动手之前,首先我要说一下要注意的事(我踩过的坑):
a: 微信公众号服务器在收到用户在公众号输入的信息之后, 只会转发到一个url上(就是你开发者认证时所填的那个url,所以只能通过这个url来接收信息)
b: 公众号收到用户的信息之后, 将会把它打包成规定的xml的模式通过你注册的url发送到你的服务器上, 你发送给用户的消息同样要包装成同样格式的xml才能成功, 否则公众号服 务器一律拒绝并在用户端返回"该公众号提供的服务出现故障, 请稍后再试"的提示(幸运的是在wechat_sdk已经有打包这种xml的方法了, 如果你想了解, 你可以看看公众号的开发文档)
c: 返回给用户的文字一定要用utf-8格式
d: 每次发送的消息长度长度不能超过2048字节, 由于采用utf-8编码, 所以请留意每个汉字都算作3个字节, 超长就要记得截断发两次了
调试技巧
无论你的服务器在调试过程中出了什么错, 在用户端都是提示"该公众号提供的服务出现故障, 请稍后再试"的提示, 所以想只靠一个测试账号来调试明显是很不靠谱