用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL。

微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。

假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试。

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
</xml>

class WeChatHandler(WeChatBaseHandler):"""微信接入接口"""def get(self):"""开发者验证接口"""echostr = self.get_argument("echostr")self.write(echostr)def post(self):"""收发消息接口"""req_xml = self.request.bodyreq = xmltodict.parse(req_xml)['xml']msg_type = req.get("MsgType")if "text" == msg_type:resp = {"ToUserName":req.get("FromUserName", ""),"FromUserName":req.get("ToUserName", ""),"CreateTime":int(time.time()),"MsgType":"text","Content":req.get("Content", "")}elif "voice" == msg_type:resp = {"ToUserName":req.get("FromUserName", ""),"FromUserName":req.get("ToUserName", ""),"CreateTime":int(time.time()),"MsgType":"text","Content":req.get("Recognition", u"未识别")}elif "event" == msg_type:if "subscribe" == req.get("Event"):resp = {"ToUserName":req.get("FromUserName", ""),"FromUserName":req.get("ToUserName", ""),"CreateTime":int(time.time()),"MsgType":"text","Content":u"感谢您的关注!"}else:resp = Noneelse:resp = {"ToUserName":req.get("FromUserName", ""),"FromUserName":req.get("ToUserName", ""),"CreateTime":int(time.time()),"MsgType":"text","Content":"I love you, itcast!"}if resp:resp_xml = xmltodict.unparse({"xml":resp})else:resp_xml = ""self.write(resp_xml)

10 公众号开发 - 关注/取消关注事件相关推荐

  1. 实例:用C#.NET手把手教你做微信公众号开发(13)--事件消息处理之取消关注

    一.取消关注事件 用户在取消关注公众号时,微信会把这个事件推送到开发者填写的URL,方便开发者做帐号的解绑等处理. <xml><ToUserName><![CDATA[t ...

  2. 微信公众号开发 - 引导用户关注、一键关注

    1. 打开公众号,点击右上角人像图标 2. 点击查看"全部消息" 3. 点击右上角三个点的图标,然后"复制链接" 4. 获得以下链接(其中红色字体是该公众号的唯 ...

  3. 微信公众号关注/取消关注事件推送开发记录

    一.奉上官方文档 关注/取消关注事件 | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/doc/offiaccount/Message_Managem ...

  4. 微信公众号开发-----接送事件推送之关注/取消关注

    本文主要实现的功能包括 关注/取消关注事件 阅读本文之前请先认真阅读微信公众号技术文档之接受事件推送 需注意的是:验证消息的确来自微信服务器和接收事件时微信服务器都会发送请求到填写的服务器地址URL上 ...

  5. 实例:用C#.NET手把手教你做微信公众号开发(10)--事件消息处理之关注公众号(普通关注)

    一.事件消息种类 在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息.其中,某些事件推送在发生后 ...

  6. 微信公众号开发(6)关注事件

    微信公众号开发(6)关注事件 学习目标 推送 event subscribe(关注) unsubscribe(取消关注) CLICK (自定义菜单点击事件) 关键代码如下: $ev = $postOb ...

  7. 根据微信公众号关注/取消关注事件,获取用户信息

    第一步:微信公众平台->基本配置->服务器配置->配置接收地址 第二步:接收微信服务器推送过来的事件 微信文档地址: 关注/取消关注事件 用户在关注与取消关注公众号时,微信会把这个事 ...

  8. 微信公众平台开发教程Java版(六) 事件处理(菜单点击/关注/取消关注)

    前言: 事件处理是非常重要的,这一章讲讲常见的事件处理 1.关注/取消关注 2.菜单点击 事件类型介绍: 在微信中有事件请求是消息请求中的一种.请求类型为:event 而event事件类型又分多种事件 ...

  9. 微信公众号开发--公众号关注推送配置与菜单配置

    用户关注公众号回调 AppID:开发者ID,微信公众号的唯一标识 AppSecret:开发者密码,操作微信公众号的验证 IP白名单:获取access_token时,需要IP白名单才可以获取 OpenI ...

最新文章

  1. bom头解释方法和去掉方法
  2. Spring实战之二:装配Bean
  3. 函数指针,指针函数,数组指针,指针数组 区分
  4. 浅谈代码的执行效率(3):缓存与局部性
  5. 【英语学习】【Daily English】U15 Culture L02 For a second I wanted to go home
  6. 怎么样使用Badboy工具录制JMeter脚本
  7. html下拉表覆盖透明,css透明元素如何遮挡住fixed元素
  8. 以太坊源码(03):POA委员会选举机制
  9. 推荐一款wordpress个人博客主题,中文版主题
  10. sqlserver为数据库表增加自增字段
  11. 百度迁徙数据的快捷采集方法分析总结
  12. Android友盟分享7.1.5版本巨坑
  13. threejs,绘制测井曲线\变径管道\辅助网格方法
  14. Deep Homography Estimation - Pytorch实现
  15. RNA结构预测竞赛圆满落幕,优胜选手花式解题思路齐奉上
  16. 20162330 第十二周 蓝墨云班课 hash
  17. 微信小程序注册流程图文详解
  18. Systemverilog中static、automatic区别
  19. PL/pgSQL之入门
  20. 软件开发:最佳实践 != 过度设计

热门文章

  1. 个人老师常用的在线授课软件对比分析
  2. 雷电2接口_USB、Type-C、雷电3都是怎么一回事?
  3. 泰坦尼克号生存预测(多种模型实现)python
  4. gitlab runner实现自动化部署
  5. 微信小程序 上滑加载和下拉刷新
  6. 关于增量学习的一点总结思考
  7. 【单例模式】Python Singleton
  8. Windows驱动编程基础教程 (转)
  9. 超级马里奥代码_任天堂源代码泄露,引出《超级马里奥64》隐藏24年的角色
  10. 2022最新HTML生成国庆头像网页源码+打开即用