Google BigQuery:用户不是受信任的测试人员

Posted

技术标签:

【中文标题】Google BigQuery:用户不是受信任的测试人员【英文标题】:Google BigQuery :User is not a trusted tester 【发布时间】:2012-05-04 04:46:24 【问题描述】:

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

任何修复它的建议。

【问题讨论】:

【参考方案1】:

我怀疑您使用的是旧版本的 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 客户端库页面上的链接也更新!

【讨论】:

哦,是的。API 版本是问题所在。我使用的是 v2beta1-rev3。是的,保持 API 客户端库页面同步会有所帮助。【参考方案2】:

我遇到了类似的问题,jcondit 的解决方案对我来说效果很好(更新 jars)。至于认证码,你也可以看看here。

【讨论】:

以上是关于Google BigQuery:用户不是受信任的测试人员的主要内容,如果未能解决你的问题,请参考以下文章

getJSON() 是不是可以安全地调用不受信任的 URL?

网络安全配置文件中的固定公钥是不是受信任,即使颁发它的 CA 不是?

如何将浏览器中不受信任的证书手动设置为信任

如何检测 IE 是不是将我的站点作为受信任站点访问?

google chrome使用的插件不受支持怎么办?

解决Charles抓包ssl证书信任问题