Autoryzacja Google App Engine dla Google BigQuery

Postępowałem zgodnie z instrukcjami whttps://developers.google.com/bigquery/authorization#service-accounts-appengine zrobić niektóre zapytania z silnika aplikacji do bigquery.

W kroku 2 klikam Zespół w Konsoli Google Api i przekierowuję do App Engine> Administracja> Uprawnienia. Dodaję nazwę konta usługi jako Email i jako rolę wybieram programistę (opcja „może edytować” jest niedostępna), a następnie kliknij „Zaproś użytkownika”. Następnie pojawia się komunikat: „Wysłano wiadomość e-mail na adres [email protected] w celu weryfikacji”. a status jest w toku. Jak mogę potwierdzić wiadomość e-mail?

Następnie przeprowadziłem test przy użyciu następującego kodu:

#!/usr/bin/env python
import httplib2
import webapp2
from google.appengine.api import memcache
from apiclient.discovery import build
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from oauth2client.appengine import AppAssertionCredentials 

# BigQuery API Settings
PROJECT_NUMBER        = 'XXXXXXXX' 

credentials = AppAssertionCredentials(scope='https://www.googleapis.com/auth/bigquery')
http        = credentials.authorize(httplib2.Http(memcache))
service     = build("bigquery", "v2", http=http)

class MainHandler(webapp2.RequestHandler):
    def get(self):
        query     = {'query':'SELECT word,count(word) AS count FROM publicdata:samples.shakespeare GROUP BY word;',
                     'timeoutMs':10000}
        jobRunner = service.jobs()
        reply     = jobRunner.query(projectId=PROJECT_NUMBER,body=query).execute()
        self.response.out.write(reply)

app = webapp2.WSGIApplication([
    ('/', MainHandler)
], debug=True)

Odpowiedź brzmiała (uruchomiona z google):

HttpError: <HttpError 403 when requesting https://www.googleapis.com/bigquery/v2/projects/XXXXXXXX/queries?alt=json returned "Access Denied: Job YYYYYYYY:job_e57bdde0144c495dbc864ccbfb82b704: RUN_QUERY_JOB">

Jeśli przetestuję z localhost, odpowiedź brzmi:

HttpError: <HttpError 401 when requesting https://www.googleapis.com/bigquery/v2/projects/XXXXXXXX/queries?alt=json returned "Invalid Credentials">

Ktoś mógłby mi pomóc? :-)

questionAnswers(2)

yourAnswerToTheQuestion