Web的な何か

JavaとかPHPとかやってます。最近はAndroidばっかやってます。

Google Feed APIを使ってみたよ(JSON)

割と前からある気がするAPIですが、最近触ったので使い方を紹介してみます。
APIjavascriptでも利用できますが、今回はJSONの結果を利用したのでそっちで書きます。

Google feed API
https://developers.google.com/feed/?hl=ja

Google feed APIとは

キーワードからサイトのRSSを検索できたり、RSSのURLをAPIに渡してあげるとそのサイトの記事をJSONで取得することができます。
サイト毎で生成されているRSSの構造に依存しないので、サイト毎にXMLのパースをする必要がないのがいいですね。
ただいつAPIが停止するかわからないので、長期的な運用には向いていないかも?

特徴

  • JSONなのでXMLより値を扱いやすい
  • 導入が簡単
  • デベロッパー登録は不要(2012/12/19時点)

渡せるパラメーター

参考にしたのはここ。
https://developers.google.com/feed/v1/jsondevguide?hl=ja

使ったことあるとこだけ説明

パラメータ 動作
q 用途によって入れる値が変わる。
RSS検索時:キーワード
記事取得時:RSSのURL
v バージョン1.0でいい気がする。
hl 言語。jaとか入れればいいと思うんだけど機能している気がしない。
num 記事取得限定
取得する記事の件数。デフォルトでは100件

ブログ検索

ベースになるURL

https://ajax.googleapis.com/ajax/services/feed/find

このベースになるURLに先ほど紹介したパラメータをセットしていきます。
例)「ポケモン」で検索

https://ajax.googleapis.com/ajax/services/feed/find?q=%e3%83%9d%e3%82%b1%e3%83%a2%e3%83%b3&hl=ja&v=1.0

試しに上のURLを表示してみるとJSONで結果が取得できます。

取得できる項目

記事取得

ベースになるURL

https://ajax.googleapis.com/ajax/services/feed/load

このベースになるURLに先ほど紹介したパラメータをセットしていきます。
例)4Gamer.net

https://ajax.googleapis.com/ajax/services/feed/load?q=http://www.4gamer.net/rss/index.xml&num=10&hl=ja&v=1.0

試しに上のURLを表示してみるとこれもJSONで結果が取得できます。

取得できる項目

  • 著者
  • feedの説明文
  • 記事の配列
    • 著者
    • カテゴリ配列
    • 内容
    • 記事のURL
    • 更新日時
    • 記事名
  • feedのURL
  • サイトURL
  • サイト名
  • feedのタイプ
  • エラー文
  • HTTPステータスコード

あとはこれらで取得できる項目をJavaPHPなどで利用するだけです。
興味がある方は是非試してみてください。

気が向いたらjavascriptでも使ってみます。