facebook login reviewとは
public_profile, friend_list, email以外の全てのpermissionはpublicなAppで使うためには、Facebook login review(FBに申請して審査員がOKする)が必要ということ。
permissionについて
大まかに分けて
- read permission
- publish permission
の2つがあり、Clientの部分でも書き方が異なるので、確認が必要
大体の手順
- アプリ開発
- ログイン部分を問題なく作る(まず公開せずにdevelopment modeで試すのが王道のよう(Publicにしてしまうと申請が通るまでそのPermissionを使えないので、見せることができなくなる))
- 使うPermission部分を見せれるようにする
- Submit(https://developers.facebook.com/docs/facebook-login/review/how-to-submit を読んで、提出)
難しい部分
Permissionの申請のために、Permissionをどうやって使ってるかをAPP上で見せないといけないという、矛盾しているような要求
解決策1 (Graph API explorerを使う(user_likes申請でもこれを利用))
- Graph API explorerにAPPのAdminでログインし、自分のAPPを選択し、自分に直接申請しているPermissionを上げる。すると、AppからのAccessTokenがもらえるために、FBアプリとしては、そのPermissionをもらった状態でログインしたことになる。(確認方法は以下に示す。
- この状態で、Client(iOS, Android, Webなど)からFBアカウントでログインしようとすると、すでにPermissionをとっているという画面が出るので、そのままContinueをクリックすると、申請するPermissionを持ったAccessTokenでログインすることができる
- この状態で、Appが申請するPermissionを使った機能を示せればOkということになる!
ただし、この方法では、ログイン画面で、必要なPermissionをもらう部分がScreencastにできない(が、申請は通った)


解決策2(Test Userを使う(publish_actionを申請する場合に有効))
FB APPにはTest Userというものが存在している。詳細は、以下のリンク参照
簡単にいえば、TestするためだけにUserを作れるというもの。
できること
- FBへのログイン
- Test Userのアカウントを使って自分の開発したAppへのログイン
- Appを使ってFBのWallに投稿
できないこと
- 実在ユーザと友だちになる
- PageにLikeをする
なので、Publish Permissionを申請するためには結構使えるものである。
ただし、user_likes(read permission)を申請するのには使えない。FB上でLikeができないので、user_likesを使ってできる結果を見せようがない。
結論
user_likesを申請するのに使ったもの
- APP内でuser_likesを使った直接の結果を見せる(必須)
- userへuser_likesのあげ方は、graph API explorerを利用
欠けたもの:
- Login画面での、Permissionの確認(Explorerであげたので、すでにログイン済みとなり、Permission確認画面がでない)
実際のところ、動画で細かく説明してあれば、実際にReviewerがどこまでチェックの必要がほとんど無くなる場合もあるので、今回は、動画に字幕をつけて説明した。
明らかにした部分:
- FBでログインしてない時に、結果がない
- ログインすると、FBのuser_likesがとれて、それによって、これが提供できる
という部分を書いてあげれば大丈夫な模様。
参考資料
以下の資料がとても参考になる