0

我正在使用大查询示例代码来处理大查询。使用大查询 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

我怀疑您使用的是旧版本的 BigQuery Java 客户端库,它基于 API 的预发布版本 (v2beta1)。如果是这种情况,请尝试在此处升级到最新版本的客户端库:

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 的解决方案对我来说效果很好(更新 jars)。而对于认证码,你也可以看看这里

于 2012-05-11T22:32:41.490 回答