2010-12-04 3 views
1

JSONオブジェクトを返すだけですが、その下にHTTP情報が出力されています。Google App Engine HTTP情報が何らかの形で印刷されています

self.response.out.write("Some Text") 

私は要請ハンドラが自動的にデフォルトのHTTPヘッダーを印刷し、何も応答に書き込まれていない場合、それを送信したとします。私には、Google App Engineとhttps://github.com/simplegeo/python-oauth2

#!/usr/bin/env python 

from google.appengine.ext import webapp 
from google.appengine.ext.webapp import util 
from django.utils import simplejson as json 
import oauth2 as oauth 
import cgi 

class MainHandler(webapp.RequestHandler): 

    def get(self): 

    consumer = oauth.Consumer(key="xxx", 
     secret="xxx") 

    request_token_url = "xxx" 

    client = oauth.Client(consumer) 

    resp, content = client.request(request_token_url, "POST") 

    if resp['status'] != '200': 
     raise Exception("Invalid response %s." % resp['status']) 

    request_token = dict(cgi.parse_qsl(content)) 
    print 
    print json.dumps({"oauth_token": request_token['oauth_token'], "oauth_token_secret": request_token['oauth_token_secret']}) 

def main(): 
    application = webapp.WSGIApplication([('/', MainHandler)], 
             debug=True) 
    util.run_wsgi_app(application) 


if __name__ == '__main__': 
    main() 

答えて

2

適切Content-Typeを追加し、self.response.out.write

self.response.headers['Content-Type'] = 'application/json' 
self.response.out.write(data) 
に切り替え
1

代わりのprint使用self.responseを使用しています.outストリーム。

JSONデータのみを送信する場合は、「Content-Type」ヘッダー情報を「application/json」に設定できます。

関連する問題