2013-07-17 2 views
0

다음은 자원 봉사자가 포함 된 파일 목록을 찾는 데 사용하는 코드입니다.Google 드라이브 API에서 검색어 문자열을 사용한 파일 검색이 작동하지 않습니다.

private static List<File> retrieveAllFiles(Drive service) throws IOException { 
    List<File> result = new ArrayList<File>(); 
    Files.List request = service.files().list().setQ("Volunteers"); 
    System.out.println("Request size:" + request.size()); 
    do { 
     try { 
      FileList files = request.execute(); 
      System.out.println("Request files size:" + files.size()); 
      result.addAll(files.getItems()); 
      request.setPageToken(files.getNextPageToken()); 
     } catch (IOException e) { 
      System.out.println("An error occurred: " + e); 
      request.setPageToken(null); 
     } 
    } while (request.getPageToken() != null && 
      request.getPageToken().length() > 0); 

    return result; 
} 

는 실행에 그것이 뭐가 문제

[s~sakshumweb-hrd/3.368839385999923807].<stdout>: An error occurred: com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 OK 
{ 
    "code" : 400, 
    "errors" : [ { 
    "domain" : "global", 
    "location" : "q", 
    "locationType" : "parameter", 
    "message" : "Invalid Value", 
    "reason" : "invalid" 
    } ], 
    "message" : "Invalid Value" 
} 

를 반환합니다.

답변

3

자원 봉사자가 포함 된 파일 목록을 찾고 싶을 때 검색하려는 내용이 확실치 않지만 파일을 검색 할 리소스를 지정해야합니다. 당신은 제목에 "자원 봉사자"를 포함하는 파일을 검색하려면

예를 들어, 코드가 service.files().list().setQ("title contains 'Volunteers'"); 수 또는해야 당신은 그들이 "자원 봉사자"를 포함하고 있는지 확인하기 위해 제목과 파일의 내용을 모두 검색 할 경우, 코드는 다음과 같아야합니다 service.files().list().setQ("fullText contains 'Volunteers'"); search parameters documentation을 자세히 살펴보십시오. 그것은 당신에게 파일을 찾는 방법에 대한 더 나은 감각을 줄 것입니다.

+0

감사합니다. 이제 오류가 반환되지 않습니다. 그러나 지금은 파일을 인쇄 할 수 없습니다. 아래는 결과를 인쇄하는 코드입니다. 리스트 files = retrieveAllFiles (service); System.out.println ("목록 크기 :"+ files.size()); \t (파일 i.get (i) .getTitle() + ":"+ files.get (i) .getOwners (int i = 0;() .get (0) + ":"+ files.get (i) .getDownloadUrl()); } System.out.println ("인쇄 됨"); [s ~ sakshumweb-hrd/3.368863286192052922]로 인쇄되는 입니다. : 목록 크기 : 0 – Vik

+0

즉 제목이나 내용에 자원 봉사자가 포함 된 파일이 없음을 의미합니다. "자원 봉사자가 포함 된 파일 목록 찾기"에서 무엇을 의미하는지 명시하고 q 매개 변수를 사용하십시오. –

+0

Files.List request = service.files(). list(). setQ ("title contains 'Volunteer'"); 이것은 문자열이고 내 드라이브에는 파일 이름이 있습니다. 자원 봉사자 정보 양식 – Vik

관련 문제