2012-06-29 9 views
9

私はv2 Google Drive SDKで少し混乱しています。GoogleドライブSDK V2を使用してフォルダとファイルを列挙する

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

files.listchildren.listfiles.listを使用して

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

私は子供のリストを取得して、各子供が非常に非効率なように見えるファイル名を見つけるための要求を実行しなければならないようです。

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

答えて

2

代替アプローチのためのメタデータ(少なくともファイル名)を返す

+0

ありがとうございます。私はこれを試してみましょう。 – Kuffs

2

更新 -

これは今files.listを達成することができます。ファイルまたはフォルダのparentsをテストするクエリでqパラメータを渡すことができます。ここ

q='MYFOLDERID' in parents 

複数の検索パラメータとオプションと例:https://developers.google.com/drive/search-parameters

オリジナルの答え -

はい、これは正しいです。私たちはこの機能を改善しようとしていますが、残念ながらあなたは今のところこれに取り組んでいます - ごめんなさい。

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

+6

ありがとう: – Kuffs

2

+1は、親によって制限するクエリ式とずつfiles.list使用することです。

q='id-of-parent' in parents 

これは、あなたの子コレクションと同じ結果が得られますが、各項目の完全なメタデータとなります。

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()); 
} 
+0

files.listをクエリすると、もはやこれは必要ありません。 –

1

あなたのドライブ使用中のすべてのフォルダを取得したい場合は

。 SDKがより成熟するまで、私はGDriveの統合計画を取り消します。ドライブ構造全体をダウンロードしてキャッシュするために必要な帯域幅は、モバイルデバイス上では問題ありません。この件に関して何か言いたいことがある場合は、ドライブをファイルシステムとして扱うことができる軽量(最小限の依存関係)のAndroid SDKをリリースしてください。現在のSDKは使いにくいです。私はDropboxを置き換えたいと思うが、SDKは現時点では良い方法であり、私が必要とすることを可能にする。
関連する問題