F.Ko-Jiの「一秒後は未来」

フィードの情報をJSONで返すGoogleの隠れAPI

Google AJAX Feed API に用意されている google.feeds.findFeedsgoogle.feeds.lookupFeed というメソッドの裏でリクエストされているAPIのお話しです。

これらのメソッドは何?

google.feeds.findFeeds

あるキーワードに一致するフィードのリストを返してくれます。
google.feeds.lookupFeed
サイトのURLに関係するフィードを返してくれます。

Google AJAX Feed API はJavaScriptで動作するものなので、裏側で実際のAPIへのリクエストが発生しています。ということで、そこで使われているAPIがどんなものかとHTTP Headerを覗いてみました。

どんなAPIが動いているか

試してみたページはGoogleが用意している「Feed Discovery – Google AJAX Feed API Sample」というサンプルページです。

まず google.feeds.findFeeds のほうは次のようなリクエストが飛んでいます。

GET /uds/GfindFeeds?callback=google.feeds.Feed.FindRawCompletion&context=0
&hl=ja&q=Official%20Google%20Blogs&key=internal&v=1.0 HTTP/1.1

実際のリクエスト結果はこちらから

上のリンクからリクエスト結果を見てもらえばわかりますが、コールバック関数が指定されているため余分な引数が与えられて返ってきています。

そこで試しにcallbackパラメータを消した以下のURLをリクエストしてみました。

http://www.google.com/uds/GfindFeeds?context=0&hl=ja
&q=Official%20Google%20Blogs&key=internal&v=1.0

callbackのクエリを消したリクエスト結果はこちらから

今度はばっちりJSONのみ返されました。なお、クエリに含まれるkeyには自分のサイトで取得したAPIキーを与えてあげればいいと思います。

GoogleはAJAXなAPIをいくつか提供しているのでもっと隠れAPIはあると思いますが、「自分で発見して楽しむ」くらいにとどめておいたほうが無難かと思われます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など