Frage

I' getting the following error while trying to run my application

from oauth2client.appengine import oauth2decorator_from_clientsecrets
ImportError: No module named appengine

Here is my main.py code

import httplib2
import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from oauth2client.appengine import oauth2decorator_from_clientsecrets

CLIENT_SECRETS = os.path.join(os.path.dirname(__file__), 'client_secrets.json')

decorator = oauth2decorator_from_clientsecrets(CLIENT_SECRETS,
'https://www.googleapis.com/auth/bigquery')

class MainHandler(webapp.RequestHandler):
    @decorator.oauth_required
    def get(self):
       self.response.out.write("Hello Dashboard!\n")

application = webapp.WSGIApplication([
     ('/', MainHandler),
     ], debug=True)

def main():
    run_wsgi_app(application)

if __name__ == '__main__':
   main()

And here is my app.yaml

application: hellomydashboard
version: 1
runtime: python27
api_version: 1
threadsafe: false

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: /oauth2callback
  script: oauth2client/appengine.py

- url: .*
  script: main.app
War es hilfreich?

Lösung

The first problem here is that you have added the /oauth2callback handler to app.yaml. Please see the documentation here on decorators:

https://developers.google.com/api-client-library/python/platforms/google_app_engine?hl=en#Decorators

Or the sample code here:

http://code.google.com/p/google-api-python-client/source/browse/samples/appengine/main.py

As for the import error, did you install the code for the library into your App Engine project? The easiest way to do that is to download the latest google-api-python-client-gae-NN.zip and unzip it directly into your project.

http://code.google.com/p/google-api-python-client/downloads/detail?name=google-api-python-client-gae-1.0.zip&can=2

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top