9

v2 Google Drive SDKに少し混乱しています。

ファイルやフォルダの情報を取得するには、2 つの方法があるようです。

files.listchildren.list

を使用files.listすると、特定のフォルダー内のファイルに検索を絞り込むことができないようですが、使用するとchildren.list、ID などの非常に基本的なファイル情報しか返されません。ファイル名はありません。

子のリストを取得してから、各子に対してリクエストを実行してそのファイル名を見つける必要があるようですが、これは非常に非効率的です。

Google ドライブを使用してフォルダとその内容を列挙する通常の\正しい方法は何ですか?

4

4 に答える 4

2

別のアプローチは、files.list をクエリ式で使用して、親によって制限することです。

q='id-of-parent' in parents 

これにより、子コレクションと同じ結果が得られますが、各アイテムの完全なメタデータが含まれます。

于 2013-02-21T18:11:27.093 に答える
2

+1 children.listのメタデータ (少なくともファイル名) を返す

于 2012-07-04T06:32:24.877 に答える
2

更新--

これは、 で実現できるようになりましたfiles.list。ファイルまたはフォルダーをqテストするクエリでパラメーターを渡すことができます。parents

q='MYFOLDERID' in parents

その他の検索パラメーターとオプション、および例はこちら: https://developers.google.com/drive/search-parameters

元の答え-

はい、これは正しいです。この機能の改善に取り組んでいますが、残念ながら今のところこれで行き詰まっています。申し訳ありません。

すべてのファイルとフォルダーを列挙する場合は、フラット リストを取得parentsし、ファイル内の配列を使用して階層を生成することをお勧めします。

于 2012-06-30T00:10:03.610 に答える
1

ドライブ内のすべてのフォルダーを取得する場合は、次を使用します。

FileList folders=service.files().list().setQ("mimeType='application/vnd.google-apps.folder'").execute();
for(File fl: folders.getItems()){
     Log.v(TAG+" fOLDER name:",fl.getTitle());
}  
于 2013-02-22T10:26:59.383 に答える