2012-05-04 5 views
0

대용량 쿼리를 사용하기 위해 큰 쿼리 샘플 코드를 사용하고 있습니다. 큰 쿼리 api를 사용하여 데이터 집합 목록을 읽는 동안 다음 오류가 발생합니다.Google BigQuery : 사용자가 신뢰할 수있는 테스터가 아닙니다.

코드는 예외 내가 구글에 연결하는 동일한 코드를 사용할 수 있습니다로

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 

)

내가 인증 문제로 볼 수 없습니다입니다

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()); 
      } 
     } 

입니다 Google plus API를 통한 Plus 계정. 나는 또한 API 예제가 오래되었다는 것을 관찰했다.

수정 제안 사항.

답변

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 클라이언트 라이브러리 페이지의 링크가 업데이트되어 있는지 확인합니다!

+0

예. API 버전이 문제였습니다. 나는 v2beta1-rev3을 사용하고 있었다. 예, API 클라이언트 라이브러리 페이지를 동기화하면 도움이됩니다. – sudmong

0

비슷한 문제가 발생하여 jcondit의 솔루션이 잘 작동합니다 (jar 업데이트). 인증 코드의 경우 here을 살펴볼 수도 있습니다.

관련 문제