关于网友提出的“python sae 微信公众号开发”问题疑问,本网通过在网上对“python sae 微信公众号开发”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:python sae 微信公众号开发
描述:
@Kevin_Yang 您好,想跟您请教个问题:我根据您的帖子自己在sae云端建了个例子:
下面代码中的红色部分加上后,微信公众号那边发消息就没回复了,显示的是该微信公众号无法提供服务,缩进什么的都对,没有语法错误,弄了好久也没找出是什么问题,那个就是根据微信的指令回复相应的消息,不知道为什么加上多条判断错了,希望您能在闲余时间给我看一下,谢谢您!
# -*- coding: utf-8 -*-
import hashlib
import web
import lxml
import time
import os
import urllib2,json
from lxml import etree
class WeixinInterface:
def __init__(self):
self.app_root = os.path.dirname(__file__)
self.templates_root = os.path.join(self.app_root, 'templates')
self.render = web.template.render(self.templates_root)
def POST(self):
str_xml = web.data() #获得post来的数据
xml = etree.fromstring(str_xml)#进行XML解析
##c>
msgType=xml.find("MsgType").text
fromUser=xml.find("FromUserName").text
toUser=xml.find("ToUserName").text
if msgType=='text':
C>
c>
if c>
return self.render.reply_text(fromUser,toUser,int(time.time()), 'You Say What ?')
# elif c/span>
#return self.render.reply_text(fromUser,toUser,int(time.time()), 'You')
#elif c/span>
#return self.render.reply_text(fromUser,toUser,int(time.time()), '你说说')
#elif c/span>
# return self.render.reply_text(fromUser,toUser,int(time.time()), '你说啥')
else:
return self.render.reply_text(fromUser, toUser, int(time.time()),'鹦鹉:' + content)
if msgType=='event': ##关注事件
msgContent = xml.find('Event').text
if msgContent == 'subscribe':
return self.render.reply_text(fromUser, toUser, int(time.time()), '欢迎关注本公众号!')
if msgC>
return self.render.reply_text(fromUser, toUser, int(time.time()), '我会想你的!')
## return self.render.reply_text(fromUser,toUser,int(time.time()),u"徐强的测试版本说的:"+content)
##return self.render.reply_text(fromUser,toUser,int(time.time()),u"消息来自:"+toUser)
def GET(self):
#获取输入参数
data = web.input()
signature=data.signature
timestamp=data.timestamp
n>
echostr=data.echostr
#自己的token
token="motiondetection" #这里改写你在微信公众平台里输入的token
#字典序排序
list=[token,timestamp,nonce]
list.sort()
sha1=hashlib.sha1()
map(sha1.update,list)
hashcode=sha1.hexdigest()
#sha1加密算法
#如果是来自微信的请求,则回复echostr
if hashcode == signature:
return echostr
以上介绍了“python sae 微信公众号开发”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1278980.html