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 に答える