Facebook 登录与 Audience Network 报告 API V2 集成

Facebook 登录是授予 Audience Network 报告 API 数据访问权限的全新方式,将取代先前变现管理工具界面中的复制粘贴式系统用户口令。鉴于变现管理工具口令存在外泄风险,通过 Facebook 登录授予数据访问权限的安全性更高。

本文档旨在为以发行商身份访问报告 API 数据的直接报告 API 集成合作伙伴、移动应用成效衡量合作伙伴、中介合作伙伴及其他 Facebook 合作伙伴提供相关指导。

我通过第三方获取报告 API 数据

如果您使用的是现有合作伙伴(移动应用成效衡量或中介合作伙伴),则无需进行额外的代码编写工作。请确保您的合作伙伴已集成“Facebook 登录”流程。您必须点击“使用 Facebook 登录”选项,然后选择您希望授权可通过即将生成的口令访问的属性。

如果您选择“所有”属性,只要创建该口令的用户有权访问商务管理平台中的属性,则通过该口令将可访问“企业”下的所有属性。

权限

如需直接使用报告 API,您首先需要创建一个 Facebook 应用,并获取所需权限。您的应用需要 read_audience_network_insights 权限才能访问 Audience Network 报告 API 数据。如需为应用获取这项权限,企业需要加入 Audience Network

  • 在业务账户栏位中选择您新建的企业

创建应用后,您需要选择“Audience Network”并点击“设置按钮”,将该应用与您的变现管理工具账户绑定。您必须选择要绑定的变现管理工具账户。

您也可以前往 developers.facebook.com/apps 并选择您刚创建的应用,完成此操作。

您的应用程序现已加入 Audience Network,可以使用 read_audience_network_insights 权限。如果您没有看到 read_audience_network_insights,请确保应用有权访问您的变现管理工具业务账户。

如果您之前已通过 Facebook 登录获得 read_insights permission,则这项权限仍然有效,但我们建议您转为使用 read_audience_network_insights 权限。

访问报告 API 所用的方式会因您使用的集成类型而有所不同。请根据您的情况遵循适用指导:

直接 API 集成(无用户界面接口)

如果您的自定义(直接)报告 API 集成没有任何前端/用户界面接口,而且您仅使用该 API 查询您企业的数据,可以按照以下指导获取访问报告 API 的权限。

通过图谱 API 探索工具创建用户口令

  1. 如果您已在应用中使用“市场营销 API”,请跳过此步骤。否则,请按照获取 read_audience_network_insights 权限中的指导操作
  2. 前往图谱 API 探索工具
  3. 选择您的应用
  4. 选择 `read_audience_network_insights` 权限(位于“权限”>“事件组页面”下),然后点击“生成访问口令”。
    1. 您现在可以使用此口令在短时间内访问 Audience Network 报告 API 数据,无需使用变现管理工具中的口令
    2. 免责声明:此口令将于 2 小时后过期,您需要按照下方指导将该口令转换为长期访问口令。

将此口令转换为长期访问口令

  1. 前往访问口令调试器
  2. 输入您的口令,然后按“调试
  3. 向下滚动到包含所有口令信息的表格底部,点击“延长访问口令期限”按钮
  4. 复制生成的口令

您现在便可使用此口令访问 Audience Network 报告 API 数据。

直接 API 集成(有用户界面接口)

以下指南适用于拥有自己的用户界面接口并且可在其中放置“Facebook 登录”按钮的发行商和合作伙伴。本指南适用于想要访问自己数据的发行商,以及想要在其他发行商许可下访问发行商变现数据的合作伙伴。

您还可以观看以下指南的端对端演示视频,其中包含上述“权限”步骤中的内容:

发生错误
播放视频时出错
  • 在开发者网站上,选择在上述步骤中新建的业务应用
  • 将新产品“Facebook 登录”添加到此应用中
  • 选择“网站”选项,然后按照集成步骤操作
  • 输入显示您的“Facebook 登录”体验的网站网址。确保该网址支持 HTTPS 协议
  • 在集成步骤的最后,系统将为您提供代码示例,以便您在自己的网站集成 Facebook 登录。您可以复制此代码,但是请使用新获取的 read_audience_network_insights 权限,而不是推荐的 public_profile,email 权限。使用经过更新的权限后,您的按钮代码应如下所示:
<fb:login-button 
  scope="read_audience_network_insights"
  onlogin="checkLoginState();">
</fb:login-button>
  • 请务必在您应用的产品设置页面中为“Facebook 登录”启用 JavaScript SDK
  • 现在,用户可以完成您网页上的“Facebook 登录”流程,以便生成访问口令
  • 执行上述步骤后,系统会将参数传递至 statusChangeCallback JavaScript 方法,该参数中将返回访问口令。
  • 此口令默认将在大约 2 小时后过期
  • 开发者无需与用户进一步互动,即可申请将此口令延长为长期访问口令
    • 如果向 Facebook 服务器发出报告 API 请求,长期口令会每天刷新一次。如果未发送任何请求,长期口令将在大约 60 天后过期,届时用户将不得不生成一个新的口令。
  • 请记住,通过此口令可获得的数据在很大程度上取决于执行“Facebook 登录”流程的用户,以及这些用户同意分享哪些数据。因此,如果企业员工执行此流程,生成的访问口令将拥有与该员工相同的权限。

问题排除

错误消息具体含义措施或解决方案

正在读取不属于查询用户或应用程序的公共主页、企业、应用、域或事件源组的成效分析

对于 Facebook 登录口令,这表示,发布口令的应用不具备足够的权限 (read_audience_network_insights),或用户自身不具备查看特定属性的权限。原因可能包括:*生成口令的用户未获得商务管理平台的访问权限。*创建口令的用户未获得所查询的全部属性的访问权限。

业务管理员需要向想要生成口令或已经生成口令的用户授予访问所有属性的权限。

丢失或空白的数据

这通常表示,系统已使用隐私聚合筛选过所有或部分数据。这一点也可根据 MoMa 数据进行验证。

检查是否存在 omitted_results 数组。如果存在,则表示数据被汇总,请尝试提出更大的请求。详情请参阅“聚合”部分。

此口令不具备 read_audience_network_insights

为生成该口令而创建的应用不是“业务”类型,而且该应用已与您的 Audience Network 变现管理工具绑定。

创建用于生成口令的应用时,请务必创建“业务”类型的应用。尝试新建一个应用,并确保遵循“权限”部分的说明。前往 developers.facebook.com/apps ,然后选择您发现没有 read_audience_network_insights 的应用,选择“Audience Network”并点击“设置按钮”。

Error validating access token: Session has expired on ...

口令已过期

请务必将口令转换为长期口令。遵循“将此口令转换为长期访问口令”部分的说明。如果向 Facebook 服务器发送报告 API 请求,长期口令会每天刷新一次。如果未发送任何请求,长期口令将在大约 60 天后过期,届时用户将不得不生成一个新的口令。

正在显示两个同名应用

检查其中一个应用是否具有 read_audience_network_insights 权限

使用具有正确的 read_audience_network_insights 权限的应用

(#200) 访问报告 API v2.0 的方式已更改。现在需要在应用中实现 Facebook 登录才能访问此 API。

您未以新方式使用凭证来访问 API。

请务必从头开始新建一个应用(仅用于创建口令),且该应用应为“业务”类型。