用python编写微信公共平台的后台如何在用户关注之后自动先回复一条欢迎信息

就是比方有用户加了关注之后 并没有发送任何消息 然后由后台主动发送一条欢迎信息 微信中有内嵌被关注这个事件吗 还是有其他的方法 我找到一个类似的文章 但是是php的 也没怎么看懂 麻烦有没有用python的高人可以解释一下怎么做啊

传送门http://www.cnblogs.com/txw1958/archive/2013/04/01/weixin-if26-subscribe.html

阅读 8.4k
2 个回答

我自己是玩PHP的所以不会写python代码。不过因为以前玩过wx公众平台,所以略有了解。

因为微信现在存在着2个分裂版本,一个是5.x以下 ,一个是5.x以上的。所以会有两种消息发送到你的服务器。 文章中心就是说现在微信服务器会发送两种消息给你,一种是subscribe,一种是Hello2BizUser

你只要判断发送过来的字符串是否是这两个之一就能在用户关注之后自动先回复一条欢迎信息了。

#变量声明 
text = '''
 <xml>
 <ToUserName></ToUserName>
 <FromUserName></FromUserName>
 <CreateTime>%s</CreateTime>
 <MsgType></MsgType>
 <Content></Content>
 </xml>
'''

##声明我用的flask的框架,请你自行转换
message = request.data #这里是获取微信的请求数据,仅这一句和框架相关,其他均无关

#下边这一小段转换xml数据为字典数据存放在recv里
root = ET.fromstring(message)
child = list(root)
recv = {}
for i in child:
    recv[i.tag] = i.text

#判断是否关注了
if 'Event' in recv.keys() and recv.get('Event') == 'subscribe':
    return text % (recv.get('FromUserName'),
                   recv.get('ToUserName'),
                   recv.get('CreateTime'),
                   '欢迎订阅的啦 ^_^')

就是这个样子了。你试一下。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题