美文网首页
C3 微信公众号开发 处理订阅事件 python+flask+s

C3 微信公众号开发 处理订阅事件 python+flask+s

作者: ThinkSpark | 来源:发表于2017-10-06 20:47 被阅读22次

    将C2中新增的语句替换为:

    
        else :
            xml_recv = ET.fromstring(request.data)
            msgType = xml_recv.find("MsgType").text
            if msgType == "event" :
                return replyEvent(xml_recv)
            if msgType == "text" :
                return replyWhatItGet( xml_recv ) 
        
    #回复订阅事件
    def replyEvent(xml_recv): 
        return replyFormat(xml_recv, "大声说我第几帅!")       
    
    #获取用户发送的原始数据并原样返回
    def replyWhatItGet(xml_recv):      
        return replyFormat(xml_recv, xml_recv.find("Content").text)
    
    #消息回复模板
    def replyFormat(xml_recv, Content):
        ToUserName = xml_recv.find("ToUserName").text       #获取之前发送的 目标用户(公众号)
        FromUserName = xml_recv.find("FromUserName").text   #获取之前的     消息来源用户 
        
        #构造xml格式,回复内容
        reply = """<xml>
                  <ToUserName> <![CDATA[%s]]></ToUserName>
                  <FromUserName><![CDATA[%s]]></FromUserName>
                  <CreateTime>%s</CreateTime>
                  <MsgType><![CDATA[text]]></MsgType>
                  <Content><![CDATA[%s]]></Content>
                  </xml>"""
    
        response = make_response(reply % (FromUserName, ToUserName, str(int(time.time())), Content))
        response.content_type = 'application/xml'
        return response                                     #返回这个xml消息
    

    mainapp.py概览

    处理订阅事件.png

    效果如下

    效果.jpg

    相关文章

      网友评论

          本文标题:C3 微信公众号开发 处理订阅事件 python+flask+s

          本文链接:https://www.haomeiwen.com/subject/avbryxtx.html