受管理 Meta 账户是用于 Meta 旗下业务工具的一种账户类型。组织能够通过单点登录 (SSO) 支持和自动账户预配等管理功能管理这些账户。通过这些账户,个人可以使用其工作凭证访问 Meta 的业务工具(如商务管理平台),而无需使用其 Facebook 个人账户。
既然受管理 Meta 账户仅适用于工作,该账户类型中便存在着如下限制:
user_*
相关的权限,如 user_friends
或 user_posts
。请注意,受管理 Meta 账户仍可以完成登录流程请求,但会忽略 user_*
相关的权限。在向受管理 Meta 账户迁移的过程中,企业会将用户访问 Meta 业务工具的方式从使用 Facebook 账户过渡到使用工作凭证。用户必须在截止日期(在企业层级决定)之前完成迁移流程,以保持对 Meta 第一方和第三方工具的访问权限。请务必注意,具体截止日期由组织为特定业务部门中的个人用户设定。成功完成迁移后,用户将能够使用其受管理 Meta 账户(而不是 Facebook 账户)登录商务管理平台,从而确保可以继续访问必要的工具和资源。
如果您的应用使用系统用户访问口令或合作伙伴共享来访问客户的业务资产,您的第三方集成应不会受到影响。如果您的应用使用用户访问口令(或从用户访问口令生成的公共主页访问口令),该应用的权限以及由 Facebook 账户授予的业务资产访问权限将不会自动过渡到新的受管理 Meta 账户。用户将需要使用新受管理 Meta 账户重新授予对这些业务资产的访问权限,才能保留您的应用对这些资产的访问权限。
为了主动地最大程度地减少 API 调用的可能性中断,建议您的应用提供以下功能:
使用沙盒验证您的集成是否支持受管理 Meta 账户。
在您应用面板的“模拟用户”部分中,我们提供了一种方法来创建和管理被模拟的受管理 Meta 账户,以便测试 Facebook 登录在您应用中的实现情况以及应用所使用的任何权限或功能。通过利用测试用户工具的功能来创建和管理 Meta 账户模拟用户,您可以在将 Facebook 登录功能集成到自己的应用中时,确保用户登录受管理 Meta 账户后的体验更加顺畅。
这些测试账户无法与真实用户互动,而且就您通过模拟用户生成的任何数据而言,只有您应用上的其他模拟用户或具有该应用管理员、开发者或测试者身份的真实用户才能看到。您只能通过应用面板(而不是图谱 API)来创建、编辑、删除模拟用户,以及以模拟用户的身份登录。
请参阅主要文档,详细了解对模拟用户的限制。对 Facebook 模拟用户的限制同样适用于测试受管理 Meta 账户,只是应用只能使用 1 个测试受管理 Meta 账户。
您可以在应用面板中创建模拟用户,方法如下:前往身份 > 模拟用户面板中的模拟用户部分,选择受管理 Meta 账户选项卡,然后点击创建模拟用户按钮。此操作将打开一个对话框,能让您创建一个测试账户。
创建测试账户对话框能让您:
创建后,模拟用户将立即显示在“受管理 Meta 账户”表格中。
您可以使用一个测试账户对自己的应用开展测试,方法是:在“Facebook 登录”中使用测试受管理 Meta 账户的凭证,然后授予该应用所需的任何权限。您还可以以模拟用户身份向应用授予权限,方法是点击“受管理 Meta 账户”表格中给定模拟用户行内“选项”列中的省略号图标 (•••)。点击省略号图标后,您即可选择编辑模拟用户已授予您应用的权限、生成模拟用户的用户访问口令,以及登录模拟用户账户。
登录该测试账户后,建议您分配成功完成应用集成所需的业务资产。为此,请前往业务设置,管理您模拟用户的业务资产组合和分配给模拟用户的资产,如公共主页、广告账户和商品目录。
您可以模拟 Facebook 用户过渡到受管理 Meta 账户时发生的业务权限变化,以便您测试用户迁移对您应用的影响。如要使用此功能,请访问该 Facebook 模拟用户,点击“选项”列中的省略号图标 (•••),点击将业务权限转移到受管理 Meta 账户,然后按指示操作。
使用此功能必须满足以下前提条件:
完成转移后,您将能够:
user_access_expire_time
字段Webhooks 是一种工具,应用程序可借此接收有关用户的特定数据资产访问权限变更的自动通知。Webhooks 工具通过提供及时的自动更新来完善您的应用程序开发过程。订阅后,Webhooks 会向您的开发应用程序发送通知。该通知包含一个有效负载,有效负载中提供了用户的应用范围编号和过期时间。
注意:迁移开始后,系统将在与该迁移相关的 30 天期限开始时发送 webhooks 通知。这可以确保您的应用程序及时了解用户数据访问权限的任何关键变化,从而能够实现数据资产的无缝转换和管理。
如要接收通知,您需要订阅某个用户的受管理 Meta 账户迁移信息。我们将构建新的 Webhooks 供您订阅。
如果您刚开始使用 Webhooks 产品,请按照我们的 Webhooks 入门指南设置 Webhooks 配置,并测试您订阅的 Webhooks 主题。
如要设置受管理 Meta 账户 Webhooks,请在应用面板中前往产品 > Webhooks,从下拉菜单中选择受管理 Meta 账户,然后点击订阅以订阅此对象。
每当受管理 Meta 账户迁移到期日(即用户的混合模式结束时间)发生变更时,我们就会发送 Webhooks 事件通知。此项变更将发生在迁移创建期间,以及用户请求混合模式延期并获得混合模式延期批准时。
{ "field": "migration_expire_time", "value": { "user_id": "4444444444", "migration_expire_time" => "2024-05-04T10:00:00Z" } }
受管理 Meta 账户迁移 API 和疑难解决文档提供了以下信息:如何确定哪些用户和业务账户正在迁移、到期日以及是否为受管理 Meta 账户。is_work_account
是一种布尔返回类型,表示用户是否在使用受管理 Meta 账户;在用户对象中可用。user_access_expire_time
字段是一个时间戳,表示用户对特定资产的访问权限何时将被撤销。该时间戳过后,该用户预计将不再拥有这些资产的管理权限。使用 Facebook 用户访问口令(访问这些特定资产需要该口令)的后续 API 调用将开始返回权限错误。user_access_expire_time
在以下对象上可用:
user_access_expire_time
具有一些限制。它只针对用户通过迁移中企业的业务权限而具有其明确访问权限的资产返回到期时间数据。例如,只有当 Facebook 用户通过一个迁移中的业务账户成为公共主页管理员时,才会返回时间戳数据。迁移中企业所拥有的、未直接分配给用户的公共主页将不会生成时间戳。
is_work_account
状态 GET /<API_VERSION>/<USER_ID>?fields=is_work_account响应
{ "id": "<USER_ID>", "name": "Romane Richter" "is_work_account": true }
user_access_expire_time
GET /<API_VERSION>/<OBJECT_ID>?fields=user_access_expire_time&access_token=<ACCESS_TOKEN>响应
{ "user_access_expire_time": "2023-06-23T12:00:00+00:00" }
GET /<API_VERSION>/<OBJECT_ID>?fields=user_access_expire_time&access_token=<ACCESS_TOKEN>响应
{}
user_access_expire_time
之后)30 天后发出的请求可能会抛出错误
GET /<API_VERSION>/<OBJECT_ID>?fields=user_access_expire_time&access_token=<ACCESS_TOKEN>响应
{ "error": { "message": "(#100) Object does not exist, cannot be loaded due to missing permission or reviewable feature, or does not support this operation. This endpoint requires the 'pages_read_engagement' permission or the 'Page Public Content Access' feature or the 'Page Public Metadata Access' feature. Refer to https://developers.facebook.com/docs/apps/review/login-permissions#manage-pages, https://developers.facebook.com/docs/apps/review/feature#reference-PAGES_ACCESS and https://developers.facebook.com/docs/apps/review/feature#page-public-metadata-access for details.", "type": "OAuthException", "code": 100, "fbtrace_id": "AZdHiJUBflrZnE-RNKrHAah" } }
user_access_expire_time
并对其执行 API 调用,开发者应确保所请求的权限已获得加载这些对象的权限。在提供的示例中,如果 object-id
指企业对象编号,则用户必须至少已获得加载该对象所需的 business_management
权限。详情请参阅此处。100
的通用错误及其类型 OAuthException.
。这表示该对象无法再通过 API 访问,因为该用户不再有权访问该资产。
访问技术代理集成常见问题。
API call disruptions related to managed Meta account migrations might be caused by: