0

現在、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で何度も何度もクエリを実行しないようにするために、効率的な方法はありますか?

4

1 に答える 1

1

私が考えることができる唯一の代替手段<docs:archiveNotify>は、アーカイブ作成リクエストの要素で指定された電子メールアドレスを監視することですが、それがより効率的かどうかはわかりません。

于 2012-06-19T05:28:02.630 に答える