ビジネス向けFacebookログイン

ビジネス向けFacebookログインは、Metaのビジネスツールと連携してマーケティング、メッセージ、販売ソリューションを構築するための、技術提供者におすすめの認定・認証ソリューションです。

ビジネス向けFacebookログインでは、アプリのニーズに応じてMetaアプリダッシュボードでのログイン体験を作成することができます。アプリが必要とするアクセストークンのタイプ、アセット、アクセス許可を指定し、設定として保存できます。ログイン中に、アプリユーザーにこの設定が表示されるので、ユーザーはアプリに自分のビジネスアセットへのアクセスを許可することができます。

要件

  • Metaアプリはビジネスタイプのアプリである必要があります
  • ログイン時にアプリが要求するすべてのアクセス許可が、アプリユーザーによって付与される必要があります。付与されない場合は、どのアクセス許可もアプリに付与されません。
  • emailpublic_profileのアクセス許可は全アプリに自動的に付与されますが、アプリのインストールごとにサポートされているその他のアクセス許可を少なくとも1つ含める必要があります。
  • 所有または管理していないビジネスにサービスを提供するには、アプリがAdvanced Accessの承認をMetaのアプリレビューで通じて受ける必要があります
  • Advanced Accessを承認されているアプリは、アクセスを維持するために継続的レビューを受ける必要があります。ただし、ビジネス向けFacebookログインを使用するアプリの場合、アクセス対象がビジネスアクセス許可や機能に限定されているため、特定の継続コンプライアンスレビューの要件が軽減されています。

サポートされているアクセス許可

次の表は、ビジネス向けFacebookログインで使用できるアクセス許可を示しています。

使用できるアクセス許可ユーザーアクセストークンビジネス連携システムユーザーアクセストークン(WhatsApp)
ads_management

ads_read

business_management

catalog_management

commerce_account_manage_orders

commerce_account_read_orders

commerce_account_read_reports

commerce_account_read_settings

commerce_manage_accounts

email

なし

instagram_basic

instagram_content_publish

instagram_manage_comments

instagram_manage_insights

instagram_manage_messages

instagram_shopping_tag_products

leads_retrieval

manage_app_solutions

manage_fundraisers

pages_manage_cta

page_events

pages_manage_ads

pages_manage_engagement

pages_manage_instant_articles

pages_manage_metadata

pages_manage_posts

pages_messaging

pages_read_engagement

pages_read_user_content

pages_show_list

private_computation_access

public_profile

なし

publish_video

read_insights

read_audience_network_insights

whatsapp_business_management

whatsapp_business_messaging

サポートされている機能

  • 広告管理スタンダードアクセス
  • ビジネスアセットユーザープロフィールアクセス
  • ヒューマンエージェント
  • Instagram公開コンテンツアクセス
  • ライブ動画API
  • ページのメンション
  • ページ公開コンテンツアクセス
  • ページ公開メタデータアクセス

サポートされているアクセストークン

ビジネス向けFacebookログインを使うことで、ビジネス連携システムユーザーアクセストークンまたはユーザーアクセントークンのいずれかを取得できます。

ユーザーアクセストークン

ユーザーアクセストークンは、アプリがユーザーからのインプットに基づいてリアルタイムでアクションを実行する場合に使用します。例えば、ユーザーがページにコンテンツを投稿する際にテキストを入力してボタンをクリックすることが必要なアプリの場合、ユーザーアクセストークンを使用します。さらに、ビジネスポートフォリオの管理者アクセス許可を必要とするAPIを使う場合にも、ユーザーアクセストークンを使います。

ビジネス連携システムユーザーアクセストークン

ビジネス連携システムユーザーアクセストークンは、アプリユーザーからの入力に頼ることなく、あるいは再認証を将来求めることなく、ビジネスクライアントのアセットに対してプログラムによる自動化されたアクションを実行する場合に使用します。以下はその例です。

  • 1時間ごとに行われる、サーバー間のコンバージョンAPI呼び出し
  • FacebookページまたはWhatsAppビジネスポートフォリオとして自動返信を送信する
  • 商品カタログインベントリーへの継続的な自動アップデート
  • 広告インサイトの自動取得

要件

ビジネスクライアントからビジネス連携システムユーザーアクセストークンを取得するための条件は、次のとおりです。

  • アプリはウェブサーフェスからのみログインをリクエストできます。
  • アプリにオンボーディングするビジネスは、ビジネスポートフォリオを所持しているか、作成する必要があります。
  • アプリは、開発者が全権限を持っているビジネスポートフォリオと関連付けられている必要があります。このビジネスポートフォリオは、ビジネスクライアントが所有するビジネスポートフォリオとは別のものにする必要があります。

ビジネス連携システムユーザーアクセストークンのこのフローをテストするテスト担当者には、アプリに対する役割とクライアントビジネスに対する全権限がなければなりません。

詳細なビジネス連携システムユーザーアクセストークン

異なる目的や部門で異なるアクセス権の設定が必要な場合は、複数の粒度のビジネス連携システムユーザーアクセストークンをクライアントビジネスごとに使用し、連携のスケーラビリティとセキュリティを向上させることができます。

詳細なアクセストークンは、クライアントビジネスポートフォリオに固有のものです。異なる複数のクライアントビジネスで共有したりアクセスしたりすることはできません。アクセストークンのスコープとアセットリストは、元のビジネス連携システムユーザーアクセストークンのサブセットになります。

トークンが不正利用された場合にセキュリティインシデントがほかのものに影響を与えないようにするため、その特定のクライアントビジネスだけが影響を受け、全クライアントビジネスのすべてのビジネスポートフォリオに影響が及ばないようになっています。

ビジネス連携システムユーザーアクセストークン管理API

クライアントビジネスがビジネス向けFacebookログインを通じてアプリをインストールし、ビジネス連携システムユーザーアクセストークンを生成する場合、そのトークンにはクライアントビジネスIDが含まれます。このIDはクライアントビジネスを表しており、API呼び出しを行うためにアプリが使用します。

/<CLIENT_BUSINESS_ID>/system_user_access_tokensエンドポイントで、既存のビジネス連携システムユーザーアクセストークンを管理できます。以下のアクションを行えます。

  • 既存のビジネス連携システムのユーザーアクセストークンに基づいて、さらに詳細なビジネス連携システムユーザーアクセストークンを生成する
  • 既存のビジネス連携システムユーザーアクセストークンをフェッチする
パラメーター
オブジェクト説明

access_token文字列

必須。このアクセストークンには、business_managementアクセス許可が必須です

appsecret_proof文字列

必須。appsecret_proofは、アクセストークンのsha256ハッシュで、API呼び出しがサーバーからのものであることを保証し、さらに安全を確保するためのものです。

asset整数

任意。より詳細なトークンを生成する場合は、asset IDをコンマで区切ったリストを設定できます。アセットのリストは、元のアクセストークンのアセットのサブセットでなければなりません。

fetch_onlyブール

任意。既存のトークンをフェッチするために使うフラグであり、この操作が読み取り専用であることを示します

scopeブール

任意。詳細なトークンを生成する場合は、scope IDをコンマで区切ったリストを設定できます。アセットのリストは、元のアクセストークンのスコープのサブセットでなければなりません。

set_token_expires_in_60_daysブール

任意。新しいトークンを生成するときは、trueに設定します。そうすると、トークンは60日で期限切れになります。

system_user_id整数

任意。アクセストークンに含まれるシステムユーザーのID。

リクエストの例

読みやすいようにフォーマットしたコードを次に示します。

curl -i -X POST "https://graph.facebook.com/v21.0/<CLIENT_BUSINESS_ID>/system_user_access_tokens
    ?appsecret_proof=<APPSECRET_PROOF_HASH>
    &access_token=<ACCESS_TOKEN>
    &system_user_id=<SYSTEM_USER_ID>
    &fetch_only=true"

成功すると、アプリは以降のAPI呼び出しで使う新しいアクセストークンを含むJSON応答を受け取ります。

{
  "access_token": "<NEW_ACCESS_TOKEN>" 
}

比較

ビジネス連携システムユーザーアクセストークンユーザーアクセストークン

アクセスの指定

アクセスは、認証時に明示的に委任されます。アプリは、ビジネスクライアントがビジネス向けFacebookログインフローを完了したときに指定したアセットにしかアクセスできません。技術提供者のみ。

アクセスは、アプリユーザーの現在のアカウントのアクセスから継承されます。アプリは、アプリユーザーが現在アクセスしているビジネスアセットと同じものにアクセスできます。

アカウントの関連付け

特定のユーザーではなく、ビジネスクライアントのビジネスポートフォリオに関連付けられます。ビジネスクライアントの管理者グループのすべての管理者は、アプリにシステムユーザーアクセストークンを付与できます。

アプリユーザーの個人Facebookアカウントと関連付けられます。

有効期限と更新

一般的なオフラインサーバー間通信用で期限なしの状態がデフォルトとなっています。

ウェブブラウザーなどのオンラインアクティビティ用で短期トークンです。

OAuth付与の種類

認証コードの付与のみです。

デフォルトで暗黙付与。セキュリティ向上のために認証コード付与もサポートできます。主に、ウェブブラウザーやモバイルアプリなどのユーザーエージェントベースのクライアントに使用されます。

表現

技術提供者連携のインフラの一部は、技術提供者のアプリをインストールすることによりクライアントビジネスによって初期化されます。

ビジネスマネージャが所有または管理するアセットにAPI呼び出しを行うサーバーまたはソフトウェアを表します。

トークンの無効化

ビジネスクライアントがビジネス連携システムユーザーアクセストークンを無効にする場合は、[ビジネスマネージャ] > [設定] > [ビジネス設定] > [連携] > [リンクされたアプリ]の順にアクセスして、アプリを削除します。

ビジネスクライアントがユーザーアクセストークンを無効にする場合は、Facebookを開き、[設定とプライバシー] > [設定] > [セキュリティとログイン] > [ビジネス連携]の順にアクセスして、アプリを削除します。

ログインフローのエクスペリエンス

ユーザーアクセストークンのログインフロービジネス連携システムユーザーアクセストークンのログインフロー
何らかのエラーが発生しました
エラーが発生し、この動画を再生できませんでした。
何らかのエラーが発生しました
エラーが発生し、この動画を再生できませんでした。

利用を始める

まだアプリがない場合、ビジネス向けFacebookログインを設定するために必要な手順は次のとおりです。

アプリを作成する

  1. Metaのアプリダッシュボードで、ビジネスタイプのアプリを作成します。
  2. ビジネス向けFacebookログイン製品を追加します。
  3. 左側のメニューで[Configurations (設定)]を選択します。
  4. [+設定を作成]で設定を作成するか、[テンプレートから作成]でMetaのプリセット設定の1つを選択することができます。複数の設定を作成し異なるユーザーに提示できます。
  5. 設定に名前を付けます
  6. ビジネスのクライアントからリクエストしたいアクセストークンのタイプ、ユーザーアクセストークンまたはシステムユーザーのアクセストークン、トークンの有効期限を選択します。ユーザーアクセストークンを選択した場合、アプリユーザーは個人用Facebookアカウントを使用してログインします。システムユーザーアクセストークンを選択した場合、アプリユーザーはビジネスポートフォリオを使用してログインする必要があります。これが必要なのは、この設定でFacebookページ、広告アカウント、Instagramアカウントなどのビジネスアセットに継続的にアクセスする必要がある場合に限ります。
  7. アプリがアクセスする必要があるすべてのアセットを選択します。
  8. アプリに必要なアクセス許可を選択して、[作成]をクリックします。

ログインダイアログを呼び出すためにコード内で使用する設定IDを受け取ります。

WhatsApp Businessプラットフォーム埋め込み登録の設定を作成する

WhatApp埋め込み登録設定の作成手順については、WhatsApp埋め込み登録ガイドをご覧ください。

ビジネスメッセージ設定用のコンバージョンAPIを作成する

ビジネスメッセージ設定用のコンバージョンAPIの作成手順については、マーケティングAPI – ビジネスメッセージ用のコンバージョンAPIガイドをご覧ください。

InstagramグラフAPIの設定を作成する

InstagramグラフAPIの設定の作成手順については、InstagramグラフAPIドキュメントをご覧ください。

ログインダイアログを呼び出す

SDKのいずれかを使用してログインダイアログを呼び出す(推奨)か、ログインフローを手動で構築します。

SDKを使用した呼び出し

MetaのいずれかのSDKを使用してログインダイアログを呼び出すことができます。その際、アプリが必要とするスコープ(アクセス許可)のリストを、設定IDとアクセストークンの必要なOAuth付与の種類に置き換えます。

MetaのSDKに不慣れな場合は、まずJavaScript SDKをインストールして消費者タイプのFacebookログイン製品と連携させてから、SDKを参照する次のサンプルのように、ビジネス用の作業を行うことをおすすめします。

ビジネス連携システムユーザーアクセストークンの設定

システムユーザーアクセストークン(SUAT)用の設定を使用するように変更されたJavaScript SDKのFB.login()メソッドの例を示します。SUATが認証コード付与タイプを必要とするため、入力するconfig_idが(使用するべきではない)scopeから置き換えられており、response_typecodeに設定されていることに注意してください。override_default_response_typetrueに設定する必要があります。trueの場合、response_typeに渡された応答型は、デフォルト型より優先されます。

FB.login(
  function(response) [
    console.log(response);
  ],
  [
    config_id: '<CONFIG_ID>',
    response_type: 'code',
    override_default_response_type: true
  ]
);

ユーザーがログインダイアログフローを完了すると、リダイレクトURLにリダイレクトされてコードが含められます。それから、Metaのサーバーにサーバー間呼び出しを行い、このコードとアクセストークンを交換します。

GET https://graph.facebook.com/v21.0/oauth/access_token?
  client_id=<APP_ID>
  &client_secret=<APP_SECRET>
  &code=<CODE>

この手順について詳しくは、コードをアクセストークンと交換するをご覧ください。

ユーザーアクセストークンの設定

ユーザーアクセストークン用の設定を使用するように変更されたJavaScript SDKのFB.login()メソッドの例を示します。scopeconfig_idに置き換えられていることに注意してください(scopeを含めることはできますが、使用しないことをおすすめします)。

FB.login(
  function(response) {
    console.log(response);
  },
  {
    config_id: '<CONFIG_ID>' // configuration ID goes here
  }
);

次に、ユーザーアクセストークン設定を使用するように変更されたJavaScript SDKの[ログイン]ボタンの例を示します。

<fb:login-button config_id="<CONFIG_ID>" onlogin="checkLoginState();"></fb:login-button>

手動ログインフローを構築する

ログインダイアログを手動で呼び出す方法については、ログインフローの手動によるビルドをご覧ください。ログインダイアログを呼び出してリダイレクトURLを設定するときは、任意のパラメーターとして設定IDを含めます(スコープを含めることはできますが、スコープは使用しないことをおすすめします)。

config_id=<CONFIG_ID>

ビジネス向けFacebookログインに切り替える

ビジネス向けFacebookログインに切り替える前に、テストを実施して発生する可能性のある問題について把握することをおすすめします。

ビジネス向けFacebookログインは、ビジネスタイプのアプリで利用できます。

ビジネス向けFacebookログインへの切り替えの対象となるアプリであれば、次の手順を実行するとオプトインバナーが表示されます。

  1. アプリダッシュボードでアプリを選択します
  2. Facebookログイン製品に移動するか、またはその製品を追加します
  3. 左側メニューの[設定][クイックスタート]をクリックします
  4. ページ上部の[ビジネス向けFacebookログインで開始]ボタンをクリックします

ビジネス向けFacebookログインに切り替えても、現在のアクセストークンには影響しません。さらに、このアプリに関連付けられているすべてのテストアプリも、ビジネス向けFacebookログインに切り替わります。

切り替え後、アプリタイプはビジネスタイプになります。アプリが意図したように機能しない場合、切り替え後30日以内であれば、それぞれのアプリをFacebookログインに戻すことができます。

トラブルシューティング

ビジネスクライアントでは、以下の理由によりエラーメッセージが表示されることがあります。

  • 設定IDが無効
  • ビジネスシステムユーザーアクセストークンがモバイルデバイス上で現在サポートされていない
  • ビジネスシステムユーザーアクセストークンが間違ったresponse_typeで設定されている

機能に影響を与える可能性のある変更は次のとおりです。

  • 現在のアプリタイプがなしである場合、ビジネス向けFacebookログインに切り替えると、アプリタイプがビジネスに変わります。そして、上記にリストされているアクセス許可機能製品へのアクセスのみが維持されます。
  • ビジネス向けFacebookログインがサポートしていないビジネスクライアントからアクセス許可や機能をリクエストした場合、アプリをビジネス向けFacebookログインに切り替えると、それらのアクセス許可や機能は直ちに取り消されます
  • ビジネスクライアントからemailpublic_profileのどちらかまたは両方のみをリクエストした場合、アプリをビジネス向けFacebookログインに切り替えると、以前にこれらのクライアントにインストールしたすべてのトークンが無効になります。
  • アプリにビジネス向けFacebookログインとMetaビジネス拡張機能の両方がある場合、Metaビジネス拡張機能のエクスペリエンスは、ビジネス向けFacebookログインでサポートされているアクセス許可に限定されます。
  • ビジネスアセットユーザープロフィールアクセスは、APIによるユーザープロフィールデータへのアクセスおよび管理方法に影響する可能性があります。
  • ビジネス向けFacebookログインのログインダイアログを設定IDにより起動した場合、Facebookログインに戻そうとすると、ログインダイアログは読み込みに失敗することがあります。これは、Facebookログインでconfig_idパラメーターがサポートされていないためであり、config_idパラメーターをscopeパラメーターに置き換える必要があります。

詳しくは、Metaビジネス拡張機能をご覧ください。

Facebookログインに戻す

既存のアプリがビジネス向けFacebookログインに切り替えられている場合にのみ可能です。新しく作成されたビジネスタイプのアプリをFacebookログインに戻すことはできません。

ビジネス向けFacebookログインに切り替えた後にアプリが正しく機能しない場合、Facebookログインに戻すことができます。これを行うには、アプリダッシュボード > [ビジネス向けFacebookログイン] > [設定]の順にアクセスして、[Facebookログインに切り替える]のリンクをクリックします。ビジネス向けFacebookログインを設定する際のエクスペリエンスの改善に役立つアンケートが表示されます。各アプリは、切り替え後30日以内であれば、Facebookログインに戻すことが可能です。

よくある質問

The easiest way to add Facebook Login for Business is to create a new Business Type app, where Facebook Login for Business is automatically available, and request supported business permissions through Meta App Review. If you want to use it for an existing None type app, your app must have advanced access to at least one supported business permission.

If you are not a Tech Provider building solutions using Meta’s business APIs, Facebook Login is recommended for consumer authentication.

Only request the minimum permissions necessary for your app's functionality. Be transparent with users about why you need each permissions and features. Note that the email and public_profile permissions must be requested with at least one other supported business permission.

Yes, advanced access to the public_profile permission is required for Facebook Login for Business apps before they go live. This requirement is crucial to ensure that the app can support authorization from users who do not have an app role, commonly referred to as external users.