今日本家ブログで発表されている通り、Graph APIのバージョン2.1がリリースされました。これで、v1.0, v2.0, v2.1 がしばらく共存することになります。v1.0は例外として、原則、新しいバージョンが出てから2年間が旧バージョンのサポート期間です。ということで、v.2.0のサポートは2016年8月7日までとなりました。

0bda70c8ba2266c696f9e229947b6858

主な変更内容

  • APIを介したページ投稿で、他ページについて言及(mention)できるようになりました。アプリ開発者が管理するページ以外のFacebookページについて言及する場合は、アプリの申請を行ってFacebook側のレビューをクリアする必要があります。この申請手順と趣旨は2.0から始まったポリシーの延長ですね。
  • /USER/friendsが友達数も返すようになりました。これは遡ってv2.0にも適用されます。
  • v2.1でのレスポンスは必ずJSONオブジェクトになります。真偽値のみを返していたエンドポイントの返り値も変わります。
    補足:これまで/OBJ/likesエンドポイントを通じていいね!した場合のレスポンスは'true'もしくは'false'といった真偽値のみでしたが、拙作のFacebook::OpenGraphでは他のエンドポイントと同じように扱えるようにするため、(true|false)のみ返された場合に { "success": (true|false) }という文字列に置換した上でJSONデコードするようにしていました。今回の本家変更では最初から { "success": (true|false) } 形式で返されるようになったため、参照するフィールド名を含め、Facebook::OpenGraphを使っていた開発者は改修が不要です。
  • Field expansionの形式がもっと簡潔になります。
    補足:Facebook::OpenGraphでは、ハッシュで渡されたリクエストパラメータをよしなに扱ってField expansion対応していますが、昔の形式もサポートされ続けるので特に改修は必要ありません。
  • /?id=ENCODED_URLで、Open Graph上に登録されている該当URLの情報が取得できます。

無効となる機能

  • FQLとREST APIが無効になります。ただし、2015年4月30日まで有効なv1.0と、2016年7月6日まで有効なv2.0では引き続き利用できます。
  • Field Expansionの形式が簡潔になりますが、以前の書き方もサポートされ続けます。また、v1.0とv2.0でも新しい形式を利用できるようになります。
  • Login Dialogは旧return_session, session_versionパラメータを受け付けなくなります。
  • /APP/insightsがこの発表から90日後にあたる2014年11月5日に無効になりますので、代わりに/v2.1/APP/app_insightsを使わなくてはなりません。
  • ページタブに表示するタイプのアプリで受け取るsigned_requestオブジェクトのpageプロパティでは、likedフィールドが返されなくなります。今日以前に作成されたアプリに関しては、2014年11月5日以降、likedフィールドでは常にtrueが返されるようになります。
  • Recommendatinos Barプラグインは無効になります。90日後の2014年11月5日から先は、どのウェブサイトでも表示されなくなります。