Facebookログインでのアクセス許可

利用者がFacebookログインを介してアプリにログインすると、Facebookに保管されているその利用者のデータのサブセットにアプリからアクセスできるようになります。アクセス許可は、そのデータにアクセスできるかどうかを利用者に問い合わせる1つの方法です。利用者のプライバシー設定と許可の対象となるデータの組み合わせによって、アクセスできるデータが決まります。

リクエストと撤回レビューアクセス許可のリファレンス

Facebookログインの例

アクセス許可は、ログインリクエストまたはAPI呼び出しで渡す文字列です。アクセス許可の2つの例を次に示します。

  • publish_to_groups - 利用者が管理しているグループに投稿を公開するためのアクセス許可
  • pages_manage_posts - 利用者が管理しているページに投稿を公開するためのアクセス許可

たとえば、ログインボタンをウェブアプリに追加し、scopeパラメーターを介してpublish_to_groupspages_manage_postsの許可をリクエストすると、利用者が初めてログインする際に、次のダイアログが表示されます。

アプリは利用者のグループとページへのアクセスを求めています。デフォルトを含むすべてのアクセス許可のリストについては、アクセス許可のリファレンスをご覧ください。

類似のメカニズムが、iOSとAndroid向けに提供されています。各プラットフォーム用のリンクは、このドキュメントの後半に掲載されています。

アクセス許可をリクエストするタイミング

追加のアクセス許可はいつでもリクエスト可能で、利用者の初回ログイン後でも行えます。たとえば、user_photosアクセス許可により、アプリは利用者が公開している写真を取得できます。このアクセス許可は、アプリがその利用者の公開している写真を表示する必要があるときにのみリクエストすることをおすすめします。新しいアクセス許可をリクエストすると、アプリの利用者にそれらの新しいアクセス許可を承認するかどうかの問い合わせが行われ、利用者は拒否することもできます。詳しくは、許可リクエストの最適化をご覧ください。

アクセス許可の付与が必要になるのは、アプリごとに1回のみです。つまり、1つのプラットフォームで付与された許可は、アプリがサポートするすべてのプラットフォームで有効になります。

ユーザー制御

Facebookログインでは、アプリによってリクエストされるすべてのアクセス許可のサブセットのみを利用者は付与できます。公開プロフィールは例外で、常に必要とされます。アクセス許可を付与する操作は、許可がリクエストされた場合に、ログインダイアログの個別の画面で行われます。リクエストしたいずれかのアクセス許可の付与を利用者が却下した場合にもアプリが対応できるようにしておいてください。

撤回された許可

また、利用者は、ログイン後にいつでもFacebookのインターフェイスを使用して、アプリに付与したアクセス許可を撤回できます。特に、新しいプラットフォームで公開する場合は付与されているアクセス許可がどれであるかをアプリで定期的に確認する必要があります。Facebookでは、アプリに現在付与されているアクセス許可を確認するためのメソッドが用意されています。

詳細なアクセス許可

利用者は、自身が管理するページ、グループ、ビジネスアセットへのアクセス許可を個別にアプリに付与できます。たとえば複数のページを管理している利用者の場合、特定のページまたは一部のページへのアクセス許可のみをアプリに付与できます。

どのアクセス許可を付与するかは、アクセス許可のリクエストフローで選択できます。たとえば、アプリがページやグループへのアクセス許可をリクエストすると、ログインダイアログでそれらのアクセス許可を付与するリクエストが利用者に届きます。リクエストされたアクセス許可の一部のみを付与する場合、どのようなアクセス許可を付与するか、また多くのページやグループを管理している場合は、特定のページやグループへのアクセス許可を付与するなど、アプリがそれらのアクセス許可でアクセスできるアセットを管理できます。

リクエストされたアクセス許可の一部のみを付与した場合でも、付与するアクセス許可をアプリの設定ページで後から変更できます。ただし、すべてのアクセス許可を付与するよう変更した場合は、付与したアクセス許可をアプリ設定ページを使って変更することはできなくなります。

利用者は、次のアクセス許可を個別に管理できます。

アクセス許可の有効期限

アプリで90日間使用されていないアクセス許可は期限切れになります。これは、アプリレビューで承認済みのアクセス許可にも該当します。