私はAndroidプロジェクトに取り組んでおり、Google Drive 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
は、リストを作成して最初のファイルを選択したときに取得したダウンロードファイルのファイルIDですが、File_1をダウンロードしてそのIDを取得し、これをservice.get()に渡すにはどうすればよいですか。 .execute関数。
基本的に、私の最終目標はアプリ内です。XMLファイルをGoogleドライブにアップロードし、後でファイルをダウンロードします。これは1つのファイルのみであり、常に同じ名前になります。私はすぐにそれについて行っていますか、それとも私がやろうとしていることを達成するためのより良い方法がありますか?