現在、Googleドライブでホストされている数百の画像ファイルがあります。
ユーザーがすべての画像を効率的にダウンロードできる方法が欲しいです。これが私がしたことです。
SDKはAndroidでサポートされていないため、GoogleドキュメントリストAPISDKを使用する代わりにHttpClient+XML解析を使用していることに注意してください。Google Document List APIに比べて機能が非常に限られているため、GoogleDriveSDKは使用していません。
指定された画像ファイルからアーカイブファイルを作成するようにGoogleドキュメントにリクエストします。
https://docs.google.com/feeds/default/private/archive?v=3
どの画像ファイルをアーカイブに入れたいかを具体的に指定して、POSTリクエストをに送信します。POSTリクエストが完了すると、サーバーから返されます<docs:archiveStatus>archiving</docs:archiveStatus>
。サーバーはアーカイブを実行するのに時間が必要です。
「終了」ステータスになるまでGoogleドキュメントを検索し続けます
これは非効率性が存在する部分です。現在、アーカイブプロセスがいつ行われるかを知る方法はありませんが、以前の応答からのリンクを使用してステータスを照会し続けます<link rel='self' type='application/atom+xml' href='https://docs.google.com/feeds/default/private/archive/nTSZLt...32zRB3U?v=3
。
を取得するまで、同じクエリを何度も繰り返す必要があります<docs:archiveStatus>finished</docs:archiveStatus>
。
それだけで、私はアーカイブのダウンロードリンクを取得することができます<content type='application/zip' src='https://doc-00-90-docs.googleusercontent.com/docs/secure/he...30&gd=true' />
同じURLで何度も何度もクエリを実行しないようにするために、効率的な方法はありますか?