无法从AppEngine java访问BigQuery

时间:2013-03-27 21:20:45

标签: java google-app-engine google-api google-bigquery

我有一个与BigQuery项目关联的AppEngine帐户,但是当我尝试运行查询时,我得到了#34;访问被拒绝"在回应中。我已经像这样设置了AppIdentityCredential:

 private static AppIdentityCredential getCredential() throws IOException, GeneralSecurityException {
    return new AppIdentityCredential(BigqueryScopes.BIGQUERY);
  }

  public static Bigquery createAuthorizedClient() throws IOException, GeneralSecurityException {
    return new Bigquery(TRANSPORT, JSON_FACTORY, getCredential());
  }

我还尝试让我的AppEngine帐户成为BigQuery'团队的成员。按照此处的指示:https://developers.google.com/bigquery/docs/authorization#service-accounts-appengine

但是,Google API控制台上的团队页面会显示"邀请已发送。等待回应"在我的AppEngine服务帐户名旁边。即使我是AppEngine和BigQuery方面的所有者和唯一团队成员,我也没有收到邀请(18小时+)。这让我觉得BigQuery / AppEngine服务集成刚刚破解,但如果有人看到我做错的事情,我会非常感谢帮助。

2 个答案:

答案 0 :(得分:1)

我的猜测是你的团队标签在控制台项目中链接到应用引擎权限,即它将显示您希望提供访问权限的邮件地址待处理。

请尝试创建启用了Bigquery API的新控​​制台项目(可选GS API)。之后添加您的appengine服务帐户(xxxxxx@appspot.gserviceaccount.com),可以编辑访问权限。

希望你可以做你想做的事。

另请参阅Michael Manoochehri的帖子以获取摘录。

答案 1 :(得分:0)

我重复了几次创建新项目并按照不同的顺序进行设置,如Gunasekaran的回答所示。它最终起作用,但我不确定我能再做一次,更不用说解释正确的步骤顺序了。