現(xiàn)在我們要做的,就是讓用戶發(fā)了信息之后,可以得到回應(yīng)?;貞?yīng)的內(nèi)容,暫且就是 "hello" 吧,剛開始寫死就可以了。
我們目前只考慮普通的文本消息的回復(fù),對應(yīng)的文檔在:
要回復(fù)的內(nèi)容:
<xml> <ToUserName><![CDATA[ov_QzuF0iskLIXqu0r71qOLmZV6B]]></ToUserName> <FromUserName><![CDATA[gh_b47caeadeeb7]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[hello]]></Content> </xml>
注意里面的 ToUserName
和 FromUserName
用前面的內(nèi)容換一下。
現(xiàn)在的 index.wsgi
:
# -*- coding: utf-8 -*- import re import time from sae.storage import Bucket def application(environ, start_response): if environ.get('REQUEST_METHOD', 'GET') == 'GET': q = environ.get('QUERY_STRING') m = re.findall('echostr=(.*)', q)[0] s = m.split('&', 1)[0] start_response('200 ok', [('content-type', 'text/plain')]) return [s] length = environ.get('CONTENT_LENGTH', 0) length = int(length) body = environ['wsgi.input'].read(length) bucket = Bucket('log') bucket.put_object('%s.txt' % int(time.time()), body) start_response('200 ok', [('content-type', 'text/plain')]) s = '''<xml> <ToUserName><![CDATA[ov_QzuF0iskLIXqu0r71qOLmZV6B]]></ToUserName> <FromUserName><![CDATA[gh_b47caeadeeb7]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[hello]]></Content> </xml>''' return [s]
s
的第一行不要空行。(我記得空行好像會(huì)出錯(cuò))
提交代碼到 SAE,現(xiàn)在向測試賬號發(fā)消息,就可以得到一個(gè) hello
的回應(yīng)了。
更多建議: