我正在运行在GAE上使用相同源代码(python)的多个项目。我目前正在尝试在这些项目中包含BigQuery功能。我已经在所有项目上启用了BigQuery API,使用新的开发人员控制台成功地从GCS将一些数据导入BigQuery。 我能够使用来自某些项目的AppAssertionCredentials从GAE应用程序进行查询,但得到 403" Access Not Configured。您的项目未启用API(BigQuery API)。请使用Google Developers Console更新您的配置。" 其他人的错误。
tl;带有BigQuery的AppAssertionCredentials对某些项目失败,而对其他项目失败(相同的源代码)
所有项目都有BigQuery API并启用了结算我遵循了Google App Engine authorization for Google BigQuery
的所有步骤项目之间的唯一区别在于它们的创建方式。
第三个项目 project_C 是使用旧的appengine控制台的克隆功能创建的,这就是它共享同一个服务帐户电子邮件的原因。这是AppAssertionCredentials在尝试查询BigQuery时失败的项目(尽管在使用相同凭据向GCS进行身份验证时一切正常)
我已将 project_A@appspot.gserviceaccount.com 添加到project_C权限列表,其中包含"编辑"权限 - 没有帮助。服务发现代码:
from googleapiclient.discovery import build
from oauth2client.appengine import AppAssertionCredentials
credentials = AppAssertionCredentials('https://www.googleapis.com/auth/bigquery')
return build('bigquery', 'v2', credentials=credentials)
是否有解决方法此问题或者我需要检查的其他任何内容?我真的想避免使用除AppAssertionCredentials之外的任何其他授权方法。