2010年6月24日木曜日

YouTube Data APIで絞り込み検索をしても一発で必要な情報を取れるわけではなかった・・・

先日、例えばYouTubeでユーザーのアップロード動画が200件ある時に、いかにして一発で必要な動画の情報を得るかを書いた。
琴線探査: YouTube Data APIで最新の再生回数を取得するには?

その時は、YouTube Data APIのExperimental機能「Retrieving a partial response」を使えば一発で取得できると思っていたが、それはどうやら間違いのようだ。
Developer's Guide: Data API Protocol - YouTube APIs and Tools - Google Code

確かにレスポンスの絞り込みはできる。しかし、200件全ての中から検索した結果のレスポンスではなく、あくまでmax-resultsで指定した件数の中での絞り込みにすぎなかった・・・

つまり、やはり200件全ての中から必要な情報を検索するには、start-indexパラメーターで検索位置をtotal-resultsの最後まで移動しつつ、何度もクエリを投げる必要があるようだ。

SQLデータベースならこういうことはあり得ないことだと思うけど、こういったところがGoogleのBigTableの強さでもあり、弱点でもあるということを実感した。