2

我有一个与 BigQuery 项目关联的 AppEngine 帐户,但是当我尝试运行查询时,我在响应中收到“拒绝访问”。我已经像这样设置了 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 服务集成刚刚损坏,但如果有人看到我做错了什么,我将非常感谢您的帮助。

4

2 回答 2

1

我的猜测是您在控制台项目中的团队选项卡链接到应用程序引擎权限,也就是说,它会显示您希望提供访问权限的邮件地址的待处理。

请尝试在启用 Bigquery API(可选 GS API)的情况下创建新的控制台项目。之后添加您的 appengine 服务帐户 (xxxxxx@appspot.gserviceaccount.com) 并具有可编辑权限。

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

另请参阅Michael Manoochehri的帖子以获取片段。

于 2013-03-28T22:59:43.273 回答
0

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

于 2013-03-29T01:34:59.797 回答