0

Big Query のサンプル コードを使用して Big Query を操作しています。Big Query API を使用してデータセット リストを読み取っているときに、次のエラーが発生します。

コードは

Bigquery bigquery = Bigquery.builder(httpTransport, jsonFactory)
        .setHttpRequestInitializer(requestInitializer)
        .setJsonHttpRequestInitializer(new JsonHttpRequestInitializer() {
          public void initialize(JsonHttpRequest request) {
            BigqueryRequest bigqueryRequest = (BigqueryRequest) request;
            bigqueryRequest.setPrettyPrint(true);
          }
        }).build();


        Datasets.List datasetRequest = bigquery.datasets().list(PROJECT_ID);
        DatasetList datasetList = datasetRequest.execute();
        if (datasetList.getDatasets() != null) {
          java.util.List datasets = datasetList.getDatasets();
          for (Object  dataset : datasets) {
            System.out.format("%s\n", ((com.google.api.services.bigquery.model.DatasetList.Datasets)dataset).getDatasetReference().getDatasetId());
          }
        }

例外は

Exception in thread "main" com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 Unauthorized
{
  "code" : 401,
  "errors" : [ {
    "domain" : "global",
    "location" : "Authorization",
    "locationType" : "header",
    "message" : "User is not a trusted tester",
    "reason" : "authError"
  } ],
  "message" : "User is not a trusted tester"
}
    at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:159)
    at com.google.api.client.googleapis.json.GoogleJsonResponseException.execute(GoogleJsonResponseException.java:187)
    at com.google.api.client.googleapis.services.GoogleClient.executeUnparsed(GoogleClient.java:115)
    at com.google.api.client.http.json.JsonHttpRequest.executeUnparsed(JsonHttpRequest.java:112)
    at com.google.api.services.bigquery.Bigquery$Datasets$List.execute(Bigquery.java:964)
    at ShortSample.main(ShortSample.java:74

)

同じコードを使用してGoogle plus api経由でGoogle Plusアカウントに接続できるため、これは認証の問題ではないと思います。また、API の例が古くなっていることも確認しました。

それを修正するための提案。

4

2 に答える 2

0

API のプレリリース バージョン(v2beta1)に基づく古いバージョンの BigQuery Java クライアント ライブラリを使用していると思われます。その場合は、こちらでクライアント ライブラリの最新バージョンにアップグレードしてみてください。

http://mavenrepo.google-api-java-client.googlecode.com/hg/com/google/apis/google-api-services-bigquery/v2-rev5-1.5.0-beta/

API クライアント ライブラリ ページのリンクも更新されます。

于 2012-05-04T15:59:08.127 に答える
0

同様の問題が発生しましたが、jcondit のソリューションはうまく機能します (jar の更新)。また、認証コードについては、こちらもご覧ください。

于 2012-05-11T22:32:41.490 に答える