質問

私はでファイルリリストを手に入れます

    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の一部を逃したことがありますか?

これが唯一の方法である場合、CANフォルダーも複数の親を持ち、サイクルを可能にすることができますか?

(/ a / b / c=> / A / B / C / B / C / B / B / B / C ...もしBがある場合は、

役に立ちましたか?

解決

フォルダ(特定のMIMEタイプを持つ単純な特別なドライブファイル)は複数の親を持つことができますので、BFSアプローチをお勧めし、ループを扱うことをお勧めします。

停止条件では、 about.rootfolderid 属性

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top