Androidプロジェクトで作業しており、GoogleドライブAPIを利用しようとしています。それは働いていますが、私はどのようにダウンロードを実行するかに問題があります。ファイルIDを取得してAndroidのGoogleドライブAPIからファイルをダウンロードできるようにするには
ダウンロードを実行できるようにファイルIDを取得する方法がわかりません。テストするために、ドライブアカウントのすべてのファイルを取得してリストアレーに追加し、リストの最初のファイルのIDを取得しました。
ファイルIDをコマンドにコピーしてダウンロードしましたが、正常に動作しましたが、ダウンロードしたい特定のファイルのファイルIDを取得する方法がわかりません。
以下は、ファイルのダウンロードに使用しているコードです。
private void downloadFile()
{
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try
{
com.google.api.services.drive.model.File file = service.files().get("0B-Iak7O9SfIpYk9zTjZvY2xreVU").execute();
//FileList file = service.files().list().execute();
//List<com.google.api.services.drive.model.File> fileList = file.getItems();
//com.google.api.services.drive.model.File fileItem = fileList.get(0);
//Log.d("FileID" , fileItem.getId());
//Log.d("Count", "Retreived file list");
if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0)
{
HttpResponse resp = service.getRequestFactory().buildGetRequest(new GenericUrl(file.getDownloadUrl())).execute();
InputStream inputStream = resp.getContent();
writeToFile(inputStream);
}
}
catch (IOException e)
{
Log.e("WriteToFile", e.toString());
e.printStackTrace();
}
}
});
thread.start();
}
0B-Iak7O9SfIpYk9zTjZvY2xreVU
私の最終目標はアプリ内にあります。XMLファイルをGoogleドライブにアップロードしてから、後でファイルをダウンロードします。これは1つのファイルに過ぎず、常に同じ名前になります。私はすぐにそれについてやっていますか、私がやろうとしていることを達成する良い方法がありますか?
これは意味があると思いますが、どんな助けでも大歓迎です。
おかげ
あなたの助けていただきありがとうございます。アンドロイドにすべてのファイルのリストを取得し、それらのすべてを繰り返して、必要なファイルを見つけてIDを取得できるようにする作業がたくさんあるようです。ファイル名を指定するだけで、IDを取得します。ありがとう、私はそれを試してみましょう – Boardy
あなたは実際にそれを行うにはAndroidを教えていないが、Googleのサーバー。このようにして、サーバーはあなたの仕事をしています(適切なファイルを(潜在的に長いファイルのリストから)フィルタリングします)。さらに、ネットワーク経由で転送されるデータが少なくなります。 – stan0
さて、私はあなたのポイントを見て、ちょうどかなり遅くて長い風に見えました。ファイルIDが私のテストのためのものであることを見つけるためにリストを作成しました。質問に言及すると数秒で完了しました。ドライブアカウントに多数のファイルがあります – Boardy