企业登录(通常也称为 Facebook 登录)是一个接入点,企业主可使用您放置于网站上的按钮,将他们在您平台上的企业连接至 Facebook 或 Instagram 主页。
企业登录位于您的平台界面(通常位于您网站的内部管理员面板),可触发企业登录流程。企业主可使用此流程将其 Facebook 个人主页与他们在您网站上的营业点相关联,从而启用 Facebook Business 扩展程序 (FBE) 功能。
FBE 安装期间,连接合作伙伴与客户企业的企业代表解决方案 (OBO) 便会建立。除客户商务管理平台管理员凭证(当前方法)外,这种解决方案还允许合作伙伴使用合作伙伴商务管理平台管理员系统的用户凭证获取 FBE 系统用户访问口令。
请注意:业务应用可代替企业登录进行身份验证。请参阅相关文档以了解如何使用业务应用。
catalog_management
— 仅在您的应用将启用目录功能时才需要。或者,如果您还想代表客户管理商家的广告,可以请求获取 ads_management
权限。business_creative_management
- 适用于应用是利用 Draper API 的创意应用的情况。要设置登录流程,请查看以下选项:
通过网址加载企业登录 — 如果您不打算使用 JavaScript 版 Facebook SDK,我们建议您使用此选项。此选项会要求您从网站上的按钮链接到每个企业动态生成的网址。
通过 Facebook SDK 加载企业登录 — Facebook SDK 可提供常用的客户端功能。我们建议更熟悉此 SDK 的开发者使用此选项,因为其提供更加标准化的方法来启动相同的流程。
要通过网址触发企业登录,请在您的网站上放置一个可打开网址的按钮。
企业登录网址必须拥有以下查询参数:
字段 | 描述 |
---|---|
类型:字符串 | 必要。 Meta 应用编号。 |
类型:字符串 | 必要。 企业登录的显示类型: |
类型:字符串 | 必要。 流程完成后,FBE 重定向到的重定向 URI。 |
类型:字符串 | 必要。 确定重定向回应用时所包含的企业登录响应数据是否存在于网址参数或片段中。 如果需要将 |
类型:字符串 | 必要。 需要以下权限或范围: 根据您的用例情况,可能还需要 如果是广告创意应用,范围还应包含 |
类型:字符串 | 必要。 包含有关用户在流程中将看到的具体流程和参数的信息。其中包括 |
类型:字符串 | 必要。 商家的 Facebook 设置,例如他们的唯一身份识别信息 ( |
类型:字符串 | 必要。 FBE 用于配置 FBE 工作流程的对象。查看支持的 |
如果您的应用需要动态重定向 URI,请在企业登录流程完成后,使用状态参数将动态信息传回您的重定向 URI。
如需详细了解如何为此网址及所有必要参数设置格式,请查看 Facebook Business 扩展程序 API 对象和类型中列出的字段。
在下方示例中,extras
查询参数已正确设置格式,并指定了 business_config
和 setup
对象。
示例网址
https://facebook.com/dialog/oauth? client_id=<FB_APP_ID> &display=page &redirect_uri="https://partner-site.com/redirectlanding" &response_type=token &scope=manage_business_extension // alternatively use catalog_management or ads_management // &scope=manage_business_extension,catalog_management,ads_management &extras={ "setup": { "external_business_id": "foo-123", "timezone": "America/Los_Angeles", "currency": "USD", "business_vertical": "APPOINTMENTS" }, "business_config": { "business": { "name": "Foo Business" }, "page_cta": { "enabled": true, "cta_button_text": "Book Now", "cta_button_url": "https://partner-site.com/foo-business", "below_button_text": "Powered by FBE Partner" }, "page_card": { "enabled": true, "see_all_text": "See All", "see_all_url": "https://partner-site.com/foo-business", "cta_button_text": "Book" }, "ig_cta": { "enabled": true, "cta_button_text": "Book Now", "cta_button_url": "https://partner-site.com/foo-business" }, "messenger_menu": { "enabled": true, "cta_button_text": "Book Now", "cta_button_url": "https://partner-site.com/foo-business" }, "thread_intent": { "enabled": true, "cta_button_url": "https://partner-site.com/foo-business" } }, "repeat": false }
如要手动构建登录流程,请在应用面板中输入重定向网址:
重定向网址是 FBE 重定向的保护机制。如果从 FBE 执行的重定向与您应用的重定向网址字段中的网域不匹配,则在流程结束时,FBE 不会重定向至此网址。
与正常的 Facebook 登录流程一样,流程结束时返回 access_token
,以便您使用它来获取 Pixel 像素代码编号、公共主页编号和 Instagram Business 编号。
第 1 步:加载 JavaScript 版 Facebook SDK
您可以下载该 SDK 并将其托管在您的平台上,也可以下拉选择 Facebook 托管的 SDK。我们建议使用 Facebook 托管的 SDK。
第 2 步:将 fbAsyncInit
函数附加到 Window
对象以完成 SDK 设置。
在加载 JavaScript 版 SDK 之前,fbAsyncInit
函数需已附加至 window
对象。SDK 将调用该函数以设置正确的 window.fbAsyncInit()
。
此设置包含以下项目:
appId
:Facebook 应用编号。cookie
:启用 Cookie 以允许服务器访问此会话。xfbml
:用于解析此页面上的社交插件。version
:用于通知 SDK 使用哪一个图谱 API 版本(编写此文档时的最新版本为 v10.0)在加载 JavaScript 版 SDK 之前,将 fbAsyncInit
附加到 window
对象。
第 3 步:通过 FB.login()
函数(也称为“企业登录”)启动 FBE。
加载 SDK 并使用正确的信息完成初始化后,使用 SDK 加载 FB.login()
。传递至 FB.login()
函数的重要参数如下:
scope
和 extras
字段的对象字段 | 描述 |
---|---|
| 必要。 需要以下权限或范围: |
| 必要。 包含有关用户在 FBE 工作流程中看到的具体流程和参数的信息。其中包括 |
| 必要。 定义商家的 Facebook 设置,例如他们的唯一身份识别信息 ( |
| 必要。 FBE 用于配置 FBE 工作流程的对象。查看支持的 |
详情请查看 Facebook Business 扩展程序 API 对象和类型。
<script> window.fbAsyncInit = function() { //2. FB JavaScript SDK configuration and setup FB.init({ appId : '<app_id>', // FB App ID cookie : true, // enable cookies to allow the server to access the session xfbml : true, // parse social plugins on this page version : 'v4.0' // uses graph api version v4.0 }); }; //1. Load the JavaScript SDK asynchronously (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); //3. Facebook login with JavaScript SDK function launchFBE() { FB.login(function (response) { if (response.authResponse) { // returns a User Access Token with scopes requested const accessToken = response.authResponse.accessToken; const message = { 'success':true, 'access_token':accessToken, }; // store access token for later } else { console.log('User cancelled login or did not fully authorize.'); } }, { scope: 'catalog_management,manage_business_extension', // refer to the extras object table for details extras: { "setup":{ "external_business_id":"<external_business_id>", "timezone":"America\/Los_Angeles", "currency":"USD", "business_vertical":"ECOMMERCE" }, "business_config":{ "business":{ "name":"<business_name>" }, "ig_cta": { "enabled": true, "cta_button_text": "Book Now", "cta_button_url": "https://partner-site.com/foo-business" } }, "repeat":false } }); } </script>
第 4 步:创建按钮或链接以启用 FBE。
如要加载页面,请添加可调用 launchFBE()
的按钮或链接 onClick
函数:
<button onclick="launchFBE()"> Launch FBE Workflow </button>
重定向网址是 FBE 重定向的保护机制。如果从 FBE 执行的重定向与您应用的重定向网址字段中的网域不匹配,则在流程结束时,FBE 不会重定向至此网址。
有关移动版 FBE 实施的详情,请参阅移动版文档。