facebookのGraphAPIが衝撃的なアップデート!!

本日のfacebook developer blogにはなかなか衝撃的な記事が。

「Updates to the Graph API」という、なんてwkwkさせるタイトルなんだと期待して読んでみると、中には衝撃的なアップデート内容が書かれていました。ホント期待を裏切らないわー。

http://developers.facebook.com/blog/post/2012/08/30/updates-to-the-graph-api/

今回のアップデート内容

今まで単純なインターフェースしか用意されていなかったGraphAPIですが(写真だったら写真だけ、ユーザーだったらユーザーだけ、という風に)、今回のアップデートによりfieldsパラメータで様々な情報に簡単にアクセスできるようになりました。

例1

GET https://graph.facebook.com/me?fields=name,birthday,photos.limit(10).fields(id,picture)

一度のAPIアクセスで、自分の名前、誕生日、タグ付けされている写真のidとURLを10件取得できます。
アップデート前で上記を実現するためには、プロフィールを取得して、写真を取得して、というのを別々に実行しなければいけなかったため、最低でも2回はAPIのアクセスが必要でした。

例2

GET https://graph.facebook.com/me?fields=name,birthday,photos.limit(10).fields(id,picture),videos.type(tagged).limit(10).fields(id,source)

特定のオブジェクトには指定できる値があります。
例えばVideoオブジェクトには、タグ付された動画とアップロードされた動画の2種類があり、この例ではタグ付された動画を指定して取得しようとしています。

例3

GET https://graph.facebook.com/me?fields=albums.limit(5).fields(name,photos.limit(2).fields(name,picture,tags.limit(2)))

なんと、ネストさせることもできるそうです。
上の例では、自分のアルバムを5件取得してきて、なおかつそのアルバムにある写真を2件ずつ取得しています。

例4

GET https://graph.facebook.com/%photo_id%/comments?fields=from.fields(id,name,birthday)

これらは、自分のオブジェクトだけではなく、各オブジェクトで使用することができます。

例5

GET https://graph.facebook.com/me/friends?limit=10&fields=news.reads.limit(2)

OpenGraphの値にもアクセスできるそうです。
上記の例では、友人を10人取得し、なおかつ友人が読んだ記事を2件取得します。
ただ、この場合OpenGraphの特殊な権限をユーザーに承認してもらう必要があります。

Graph API Explorerも進化

今回のアップデートに伴ってエクスプローラーも進化しています。

f:id:w6500:20120831110653p:plain

いろいろ遊べそうですね。

まとめ

もちろんさらに複雑に情報を取得するにはFQLを使った方がいい場合もありますが、簡単なインターフェースが用意されたのは嬉しいですね。
どんどん進化してますなー