Node.jsの勉強がてら地図上でお話しできるチャットアプリを作成していたら、チャットルームの管理が面倒なので、FacebookのMessengerで管理しているグループと連動できないかと思ってやってみた雑記です。
実装までの流れ
- Facebook Developers ページ
- [My Apps]でアプリを登録
- アプリのDashboard画面から[Getting Started]ボタンをクリック
- ウェブサイト(WWW)を選択
- 何もせず[次へ]
- [次のステップ]セクションにある[ログイン]を選択
- [Quickstart]のコードをコピペ
- {your-app-id}に登録したアプリIDを上書き
これだけでFacebookログイン ボタンが実装される。
Facebookログイン時のPermissionについて
fb:login-buttonを使う場合
scope属性にPermissionを指定
<fb:login-button scope="public_profile,email,user_friends,read_mailbox" onlogin="checkLoginState();"><fb:login-button>
Facebook SDKのloginメソッドを使う場合
scopeパラメーターにPermissionを指定
FB.login(function(response) {
statusChangeCallback(response);
}, {scope: 'public_profile, user_friends, read_mailbox, read_page_mailboxes, manage_pages'});
Graph API 2.0からPermissionの制限がきつくなった
「公開プロフィール情報(public_profile)」「メールアドレス(email)」「いいね!リスト(user_likes)」「友達リスト(user_friends)」以外のPermissionは、全て申請をして受理されないと使えなくなった。
参考:http://snowadays.jp/2014/05/2762
デフォルトではないPermissionの利用
-
公式に利用:申請が必要。「申請は基本的には7営業日以内、一部の権限については14営業日以内での承認。」らしい。
-
開発時に利用:登録したアプリのページの[Roles]から[テスト担当者]にPermissionを通したいユーザーを追加
Messengerのグループの情報を取得するには「メールボックスの参照(read_mailbox)」が必要だったので、とりあえずはテスト担当者でしのいでます。