"Facebook Login for Business: このアプリは利用できません" エラー:原因と解決策

2024-07-27

このエラーは、Facebook Login for Business を実装しようとしている開発者が遭遇する一般的な問題です。主に以下の原因が考えられます。

  • アプリが審査中である: 新しいアプリや、最近大きな変更を加えたアプリは、Facebookによって審査される必要があります。審査が完了するまで、アプリは "このアプリは利用できません" というエラーを表示します。
  • アプリの設定が間違っている: アプリID、アプリシークレット、スコープなどの設定が間違っていると、このエラーが発生する可能性があります。
  • Facebookの仕様変更: Facebookは頻繁に仕様を変更しており、その影響でLogin for Business が正しく動作しなくなる場合があります。

解決策

以下の手順で、このエラーを解決することができます。

アプリが審査中かどうかを確認する

Facebook Developers アカウントにログインし、アプリのステータスを確認してください。審査中の場合は、審査が完了するまで待つ必要があります。

アプリの設定を確認する

Facebookの仕様変更を確認する

Facebook for Developers のニュースフィードで、Login for Business に関する最新情報を確認してください。仕様変更があった場合は、アプリを更新する必要がある場合があります。

開発者サポートに問い合わせる

上記の手順で解決できない場合は、Facebook Developers のサポートチームに問い合わせてください。

  • このエラーは、一時的な問題である可能性もあります。時間を置いて再度試してみてください。

この情報がお役に立てば幸いです。

追加情報

  • この問題は、2023年後半から発生しているようです。
  • Facebookはこの問題を認識しており、修正に取り組んでいるようです。
  • 現在のところ、この問題の暫定的な解決策はありません。



Facebook Login for Business を用いたログインフローの実装例

前提条件

  • Facebook Developers アカウントを持っていること
  • Facebook Login for Business を有効にしたアプリを作成していること

手順

  1. HTML に Facebook Login ボタンを追加する
<button id="facebookLoginBtn">Facebookでログイン</button>
  1. JavaScript で Facebook Login SDK を初期化する
// Facebook Login SDK を初期化
FB.init({
  appId: '<YOUR_APP_ID>',
  autoLogAppEvents: true,
  xfbml: true,
  version: 'v2.12'
});
  1. Facebook Login ボタンのクリックイベントを処理する
document.getElementById('facebookLoginBtn').addEventListener('click', function() {
  // Facebook Login ダイアログを表示
  FB.login({
    config: {
      // 使用するアクセス許可を指定
      scopes: ['manage_pages']
    },
    fields: ['name', 'email', 'picture']
  }, function(response) {
    if (response.status === 'connected') {
      // ユーザーがログインに成功した場合
      console.log('ログイン成功!');
      console.log('ユーザー情報:', response.authResponse);

      // ユーザー情報を処理する
      var accessToken = response.authResponse.accessToken;
      var userId = response.authResponse.userID;

      // ...
    } else {
      // ユーザーがログインをキャンセルまたはエラーが発生した場合
      console.log('ログイン失敗!');
    }
  });
});



Facebook Graph API を使用して、ユーザーのビジネスプロフィール情報を直接取得することができます。この方法には、Facebook Login ボタンを使用する必要がなく、より柔軟な制御が可能です。

サーバーサイドのライブラリを使用する

Facebook は、PHP、Java、Python などの主要なプログラミング言語用のサーバーサイドライブラリを提供しています。これらのライブラリを使用すると、サーバー側でログインフローを処理することができます。

カスタム認証ソリューションを構築する

独自の認証ソリューションを構築することもできます。この方法は、高度な制御が必要な場合や、Facebook Login for Business で提供される機能が十分ではない場合に適しています。


facebook facebook-login

facebook login