Facebookログインで「App not active」エラーが発生する原因と解決方法
問題の概要
Facebookログイン機能を実装中に、以下のエラーメッセージが表示されることがあります:
App not active: This app is not currently accessible and the app developer is aware of the issue. you will be able to log in when the app is reactivated.
このエラーは、Laravel Socialiteなどのライブラリを使用してFacebookログインを実装している際によく発生します。
主な原因
このエラーが発生する主な原因は以下のとおりです:
- アプリが開発モードになっている - Facebook Developerコンソールでアプリが「開発モード」に設定されている
- テストユーザーが適切に設定されていない - ログインを試みているアカウントがテストユーザーとして登録されていない
- 権限設定が不十分 - 必要な権限が適切に設定されていない
解決方法
方法1: 開発者アカウントでログインする(最も簡単な解決策)
推奨
開発・テスト段階では、開発者アカウント自体でログインを試みるのが最も簡単な解決方法です。
Facebook Developerコンソールでアプリを作成・管理しているアカウントと同じアカウントでログインしてください。
方法2: テストユーザーを追加する
他のFacebookアカウントでテストを行う場合は、以下の手順でテストユーザーを追加します:
- Facebook Developerコンソールにアクセス
- 該当するアプリを選択
- 左メニューから「アプリの役割」>「役割」を選択
- 「テストユーザーの追加」をクリック
- テストしたいFacebookアカウントを追加
注意
追加するユーザーは「アクティブなFacebook開発者アカウント」である必要があります。そうでない場合、Facebookはエラーメッセージなしでウィンドウを閉じることがあります。
方法3: 必須情報の設定
アプリを公開する準備ができたら、以下の必須情報を設定する必要があります:
- Facebook Developerコンソールでアプリを選択
- 「設定」>「基本設定」を選択
- 「プライバシーポリシーURL」と「ユーザーデータ削除」フィールドに適切な情報を入力
- 変更を保存
ヒント
プライバシーポリシーがまだない場合は、テンプレートを使用して簡単に作成できます。
方法4: 権限設定の確認
必要な権限が適切に設定されているか確認してください:
developers.facebook.com/apps/your-app-id/app-review/permissions
にアクセスpublic_profile
権限を「高度なアクセス」に設定
方法5: アプリモードの変更
アプリを一般公開する準備ができたら:
- Facebook Developerコンソールでアプリを選択
- アプリのステータスを「開発モード」から「公開」に変更
重要
アプリを公開する前に、すべての機能が正しく動作することを徹底的にテストしてください。公開後はすべてのユーザーがアプリにアクセスできるようになります。
開発時のベストプラクティス
- 開発中は開発モードを維持 - テスト中はアプリを開発モードにしておく
- テストユーザーを事前に追加 - テストに使用するすべてのアカウントを事前に追加する
- 開発者アカウントでテスト - 初期テストは開発者アカウントで行う
まとめ
「App not active」エラーは、主にFacebookアプリの設定とテストユーザーの構成に関する問題です。開発段階では、開発者アカウントでのテストかテストユーザーの追加によって解決できます。本番環境で公開する前には、必ずすべての必須情報を設定し、権限を適切に構成してください。
これらの手順に従うことで、Facebookログイン機能の開発とテストをスムーズに行うことができます。