我一直在尝试使用 BigQuery GAE 示例。在我在同意页面授予应用访问 BigQuery API 的权限之前,一切正常。之后会显示一个空白页面,其中 'state' 和 'code' 参数是查询字符串的一部分。
一切都卡在这里了,接下来我该怎么办?
我一直在尝试使用 BigQuery GAE 示例。在我在同意页面授予应用访问 BigQuery API 的权限之前,一切正常。之后会显示一个空白页面,其中 'state' 和 'code' 参数是查询字符串的一部分。
一切都卡在这里了,接下来我该怎么办?
您可以使用 appengine.AppAssertionCredentials 从应用程序中获取签名令牌,而不是进行 oauth2 舞蹈:
import httplib2
from apiclient import discovery
from google.appengine.api import app_identity
from oauth2client import appengine
PROJECT_ID = app_identity.get_application_id()
query = {'query':'SELECT word,count(word) AS count FROM publicdata:samples.shakespeare GROUP BY word limit 3;'}
service = discovery.build(
"bigquery", "v2", http=appengine.AppAssertionCredentials(
scope='https://www.googleapis.com/auth/bigquery').authorize(
httplib2.Http()))
jobRunner = service.jobs().query(projectId=PROJECT_ID, body=query)
print jobRunner.execute()
为此,您需要在https://cloud.google.com/console上将 @developer.gserviceaccount.com 作为查看者添加到团队中。