22

親愛なるみんな

「フルパス」でドキュメントのリストを見つけようとしています。そして、API リファレンスを読んだ後では、複雑な作業のようです。私のパスが /path0/path1/path2/... のようなものだと仮定します

  1. ルート フォルダの子を一覧表示し、名前が「path0」に等しいすべての子を見つけて、それらをリスト「result0」に配置します。
  2. 名前が「path1」に等しい「result0」内のアイテムのすべての子を検索し、リスト「result1」に配置します
  3. 名前が「path2」に等しい「result1」内のアイテムのすべての子を検索し、...

上記のアプローチは、アプリケーションとドライブの間で複数のやり取りが必要なため、非常に効率が悪いようです。Google ドライブでは、同じフォルダ内であっても、複数のファイルが同じファイル名を共有できることを理解しています。次のようなことができれば便利です。

listDocByFullPath("path0/path1/path2")

現在のバージョンの Google Drive SDK でこれは可能ですか? まだそこにない場合は、ここにリストした方法よりも簡単な方法があるかどうか疑問に思っていました.

ところで、私のアプリケーションは純粋にバックエンド サービスであるため、Google が提供するファイル ピッカーを使用することはできません。

乾杯。

4

3 に答える 3

18

従来のファイル システムとは異なり、ファイルはドライブ上の複数のフォルダの下にある可能性があります。フォルダは、ラベルとほとんど同じです。したがって、従来のパスは、抽象化内で常に機能するとは限りません。以下のロジックに従うことをお勧めします。

  1. q = でファイルを一覧表示し'root' in parents and title = 'path0' and mimeType = 'application/vnd.google-apps.folder'、最初の結果を選択します。
  2. 一致する結果がある場合は、フォルダーの ID を取得し、別のリストを実行し'<id of path0>' in parents and title = 'path1' and mimeType='application/vnd.google-apps.folder'て最初の結果を選択します。
  3. 目的のフォルダに到達するまで続けます。
于 2013-06-24T12:58:15.877 に答える