10月1日以降のFacebookアプリ&ページ関係の変更点

  • 投稿日:
  • by
  • カテゴリ:

Facebookは仕様変更が多くて、開発者泣かせ(?)な面があります。
2011年10月1日に、「SSL必須化」と「OAuth 2.0への移行」という、2つの大きな仕様変更があります。

1.SSL必須

最も重要な変更点として、FacebookアプリおよびFacebookページを、SSLで配信しなければならなくなる点があります。
ちなみに、Facebookの開発者ブログの9月10日の記事に、以下のような一文があります。

All Canvas and Page tab apps must convert to process signed_request (fb_sig will be removed) and obtain an SSL certificate for use in Secure Canvas URL and Secure Page tab URL (unless you are in Sandbox mode).

このため、SSLに対応していないサーバーを使って、FacebookアプリやFacebookページを配信している方は、サーバーを乗り換えることが必要になります。

2.OAuth 2.0への移行

アプリケーションがFacebookにアクセスする際には、認証が必要です。
10月1日以降は、OAuth 2.0での認証に移行することが必要になります。

また、これに伴って、古いSDKも無効になります。
最新版のSDKを使うようにして、認証回りの処理を最新版のSDKに対応させるようにします。

例えば、JavaScript SDKなら、FB.init関数で初期化する際に、パラメータとして「oauth : true」を渡すようにします。

FB.init({
   appId : アプリケーションのID,
   ・
   ・(その他のパラメータ)
   ・
   oauth : true
});

また、FB.getLoginStatus関数でログインできたかどうかを確認する際に、response.sessionではなく、response.authResponseを参照するようにします。

FB.getLoginStatus(function(response) {
  if (response.authResponse) {
    ・
    ・(ログインした場合の処理)
    ・
  } else {
    ・
    ・(ログインをキャンセルされた場合の処理)
    ・
  }
});