31
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

一番簡単なFacebookログイン(OAuth2)の実装方法

Last updated at Posted at 2015-07-02

Node.jsの勉強がてら地図上でお話しできるチャットアプリを作成していたら、チャットルームの管理が面倒なので、FacebookのMessengerで管理しているグループと連動できないかと思ってやってみた雑記です。

実装までの流れ

  • Facebook Developers ページ

  1. [My Apps]でアプリを登録
  2. アプリのDashboard画面から[Getting Started]ボタンをクリック
  3. ウェブサイト(WWW)を選択
  4. 何もせず[次へ]
  5. [次のステップ]セクションにある[ログイン]を選択
  6. [Quickstart]のコードをコピペ
  7. {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)」が必要だったので、とりあえずはテスト担当者でしのいでます。

31
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?