문제

나는 filelist를 얻는다 :

    String q = "title contains '"+query+"' and trashed = false";
    FileList list = drive.files().list().setQ(q).execute();
.

FileList에서 각 일치하는 파일의 경로를 찾고 싶습니다.

동일한 파일이 여러 폴더에 나타날 수 있음을 이해합니다.

내가 발견 한 것, 파일의 경로를 만드는 유일한 방법은 반복적으로 통화하는 것입니다.

    drive.files().get(id).execute()
.

을 누른 다음 해당 파일의 부모 목록에서 ID를 선택하여 루트에 도달 할 때까지 트리를 걷고 있습니다.

트리를 탐색하는 동안 첫 번째 부모를 선택하거나 루트를 찾을 때까지 "bfs"를 수행 할 수 있습니다.

이것은 실제로 파일의 경로를 찾거나 API의 일부를 놓치지 않았습니까?

이것이 유일한 방법 인 경우 폴더도 여러 부모가 있습니다. 가능한 사이클을 가능하게합니까?

(/ a / b / c=> / a / b / c / b / c / b / c ... b가 부모 a & c가 있다면)?

도움이 되었습니까?

해결책

(특정 MIME 유형의 특수 드라이브 파일이있는 단순히 특별한 드라이브 파일 인 경우) 여러 부모가있을 수 있으므로 BFS 접근 방식을 권장하고 루프를 처리하는지 확인합니다.

정지 조건의 경우 about.rootFolderID 속성

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top