你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将机器人连接到 Facebook

可以将机器人配置为通过 Facebook Messenger 或 Facebook Workplace 与人员通信。 本文介绍如何使用 Meta for Developers 站点创建 Facebook 应用,在 Azure 中将机器人连接到 Facebook 应用,以及如何在 Facebook 上测试机器人。

本文介绍如何通过 Azure 门户将 Facebook 通道添加到机器人。 有关如何使用自定义通道适配器的信息,请参阅其他信息

先决条件

  • Azure 订阅。 如果还没有此订阅,请在开始之前创建一个免费帐户
  • 发布到 Azure 且希望连接到 Facebook 的机器人。
  • Facebook 开发者帐户。 如果没有帐户,可以在 developers.facebook.com 上创建一个帐户。
  • 用户从中访问机器人的 Facebook 页面。 如果你没有页面,请创建一个新页面
  • 若要将 Facebook Workplace 与机器人配合使用,必须创建一个 Workplace 帐户和一个自定义集成,以便连接机器人。

创建 Facebook 应用

用户将从 Facebook 页面访问机器人。 若要连接机器人,将在 Facebook 页面上启用 Facebook Messenger,然后将机器人连接到页面。

创建应用

  1. 登录到 Meta for Developers 帐户。
  2. 转到“创建新的 Facebook 应用”。
  3. 在“选择应用类型”页面上,选择“业务”,然后选择“下一步”。
  4. 在“提供基本信息”页面上,输入应用的名称,然后选择“创建应用”。
    • 如果出现提示,请输入密码,然后选择“提交”以创建应用。
    • 创建应用后,网站将转到应用的页面。
  5. 展开“设置”并选择“基本”。
    1. 复制并保存应用 ID应用机密
  6. 现在在“设置”下,选择“高级”。
    1. 在生成的窗格中,向下滚动到“安全”设置,并启用“允许 API 访问应用设置”。
    2. 选择“保存更改”。

启用 Messenger

  1. 选择“仪表板”。
  2. 在生成的窗格中,向下滚动到“Messenger”磁贴,然后选择“设置”。
  3. 该网站将 Messenger 设置添加到应用并显示设置页面。

添加页面并生成令牌

  1. 在“Messenger”下,选择“设置”。

  2. 向下滚动到“访问令牌”,然后选择“添加或删除页面”。

    1. 当系统提示将标识与 Messenger 关联时,请继续使用当前帐户或登录到另一个帐户。
    2. 当系统提示选择要用于应用的“页面”时,选择页面,然后选择“下一步”。
    3. 如果系统提示提交“登录评审”请求,请查看信息并选择“完成”。
    4. 成功后,该网站会显示一个成功页面。 选择“确定”以继续。
  3. 现在添加的“页面”将显示在“页面”列表中。

    复制并保留页面 ID,供稍后使用。

  4. 选择“为页面生成令牌”。

    1. 站点显示安全信息,并为你提供复制令牌的机会。
    2. 阅读并确认警告。
    3. 复制令牌并选择“完成”。

现在,你已获得进行下一步所需的应用信息和令牌。 使 Facebook 设置步骤保持挂起状态。 稍后你将更新它们。

在 Azure 中配置机器人

若让机器人将消息和其他事件发送到 Facebook Messenger,必须启用 Webhook 集成。

  1. 在新的浏览器窗口中,转到 Azure 门户
  2. 打开机器人的“Azure 机器人”资源边栏选项卡。
  3. 打开“频道”并选择 Facebook
  4. 在“配置 Facebook 频道”中,输入在前面的步骤中复制的 Facebook 信息。
    1. 输入 Facebook 应用 IDFacebook 应用机密
    2. 输入“页面 ID”和“访问令牌”。
    3. 复制生成的回调 URL验证令牌值。
    4. 选择“添加”。

提示

  • 如果没有前面步骤中的信息的副本,可从 Meta for Developers 网站检索它。
  • 如果需要,请为页面创建新的 Web 令牌。 有关说明,请参阅“添加页面并生成令牌”。

启用 Webhook

返回到 Facebook 设置以完成配置过程。

  1. 在 Meta for Developers 网站上,返回到应用的 Messenger 设置页面。
  2. 在出现的窗格中,向下滚动到“Webhook”部分,然后选择“添加回调 URL”。
  3. 在“编辑回调 URL”页面上:
    1. 输入回调 URL,并验证从 Azure 门户复制的令牌值。
    2. 选择“验证并保存”。
  4. 添加的页面现在将显示在 Wehook 下的“页面”列表中。
  5. 针对该页面,选择“添加订阅”。
    1. 在“编辑页订阅”页面上,选择以下订阅字段:
      • messages
      • messaging_postbacks
      • messaging_options
      • message_deliveries
    2. 选择“保存”。
  6. 该网站在机器人页面旁边显示添加的订阅字段。

公开应用

应用在发布之前处于开发模式。 插件和 API 功能仅适用于管理员、开发人员和测试人员。

只有创建者(创建页面和机器人的 Facebook Dev 帐户)才能获取机器人响应。 普通 Facebook 用户看不到页面或机器人。 为目标用户提供开发或测试角色,以便他们也能与机器人聊天。

要添加到测试人员角色的用户必须首先在 Meta for Developers 网站上注册。 测试人员角色不可用于没有 Meta for Developers 帐户的 Facebook 用户。 有关应用角色和测试用户的详细信息,请参阅 Meta for Developers 开发人员文档

提交以供审阅

在 Facebook 基本应用设置页上,要求提供隐私策略 URL 和服务条款 URL。 行为准则页包含第三方资源链接,用于帮助创建隐私策略。 使用条款页包含示例条款,用于帮助创建相应的服务条款文档。

机器人完成后,对于发布到 Messenger 的应用,Facebook 有其自己的评审流程。 将对机器人进行测试,确保它符合 Facebook 的平台策略

公开应用和发布页面

评审成功后,请在“应用评审”下的“应用仪表板”中,将应用设置为“公开”。 确保发布了与此机器人关联的 Facebook 页。 状态会显示在页设置中。

设置 API 版本

如果从 Facebook 收到有关弃用特定图形 API 版本的通知:

  1. 转到 Meta for Developers
  2. 转到为机器人创建的应用。
  3. 在“设置”下,选择“高级设置”。
  4. 选择“升级 API 版本”,然后打开“将所有调用升级到 v4.0”开关。

按照在 Facebook 中测试机器人中所述的步骤测试连接。

在 Facebook 中测试机器人

现在,向与新 Facebook 应用相关联的 Facebook 页面发送一条消息即可测试机器人是否正确连接到 Facebook。

  1. 转到 Facebook 并切换到页面的配置文件。
  2. 选择更多操作(),然后选择“添加操作”按钮。
    1. 在“自定义操作按钮”对话框中,选择“试用”并按照说明进行操作。
    2. 在“操作按钮”页面上的“获取要联系的人员”下,选择“发送消息”。
    3. 选择“下一步”,完成对话框并保存所做的更改。
  3. 切换回个人资料。
  4. 转到页面,然后选择“消息”以测试与机器人的连接。

此外还可以使用 Facebook 适配器的示例机器人来测试此功能,方法是使用上述步骤中的相同值填充 appSettings.json 文件。

其他信息

有关支持 Facebook Messenger 通信的示例机器人,请参阅 Bot Framework C# Facebook 事件示例

有关 Facebook Messenger 文档,请参阅:

有关 Facebook Workplace 文档,请参阅: