1

我希望 Google App Engine python 后端与 Google Maps Engine 服务一起使用。这是我的代码片段:

import os
import urllib
import webapp2
import jinja2

from apiclient import discovery
import httplib2 
from oauth2client.appengine import OAuth2Decorator

decorator = OAuth2Decorator(
    client_id='<MY CLIENT ID>',
    client_secret='<MY CLIENT SECRET>',
    scope='https://www.googleapis.com/auth/mapsengine.readonly')

service = discovery.build('mapsengine', 'v1')

JINJA_ENVIRONMENT = jinja2.Environment(
    loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
    extensions=['jinja2.ext.autoescape'],
    autoescape=True)


class PrintHandler(webapp2.RequestHandler):
    def render_response(self, **kwargs):
        template = JINJA_ENVIRONMENT.get_template('report.html')
        self.response.write(template.render(**kwargs))

    @decorator.oauth_aware
    def post(self):
        if decorator.has_credentials():
            request = service.tables().features().list(id='<TABLE ID>')
            if request is not None:
                response = request.execute(decorator.http())
                self.render_response(features=response['features'])         
        else:
            url = decorator.authorize_url()
            self.render_response(authorize_url=url)

app = webapp2.WSGIApplication([
    ('/', PrintHandler),
    (decorator.callback_path, decorator.callback_handler())
], debug=True)

看起来上面的脚本没有任何错误,但没有返回任何信息。我已经通过https://developers.google.com/apis-explorer/#p/mapsengine/v1/中的 oauth 测试了请求,并且成功了。

有谁知道如何解决这个问题?

谢谢!

4

0 回答 0