You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Facebook Graph API创建空白受众时遇权限/对象不存在错误

解决Facebook Marketing API创建空白受众时的权限/对象不存在错误

我帮你分析下这个创建Facebook空白受众时遇到的错误,这个问题在Marketing API开发里挺常见的,主要从这几个方向排查和解决:

核心错误分析

你收到的错误提示:

"Unsupported post request. Object with ID '692xxxxxxxx1141' does not exist, cannot be loaded due to missing permissions"

本质上是API无法识别你指定的账户对象,要么是对象格式/ID本身有问题,要么是你的访问令牌没有权限访问它。

可能的原因及修复方案

1. 广告账户ID格式错误(最常见的坑)

Facebook广告账户ID必须以act_作为前缀,如果你直接传入纯数字ID(比如692xxxxxxxx1141),API会无法识别这是一个广告账户对象,直接返回“对象不存在”。

修复后的代码示例

from facebookads.adobjects.customaudience import CustomAudience
from facebookads.adobjects.adaccount import AdAccount
from facebookads.api import FacebookAdsApi

# 初始化API
FacebookAdsApi.init(access_token='EAAGbDDbxxxxxx')

# 关键:添加act_前缀到账户ID
ad_account = AdAccount('act_692xxxxxxxx1141')

# 创建空白自定义受众
try:
    audience = ad_account.create_custom_audience(
        fields=[],
        params={
            'name': '测试空白受众',
            'subtype': 'CUSTOM',
            'description': '通过API创建的空白受众',
        },
    )
    print(f"受众创建成功,ID: {audience.get_id()}")
except Exception as e:
    print(f"创建失败:{e}")

2. 访问令牌缺失必要权限

你的访问令牌必须包含以下权限才能创建自定义受众:

  • ads_management:管理广告账户资源的基础权限
  • custom_audience_management:专门用于自定义受众的创建/管理权限
  • 如果你的账户关联了商务管理平台,还需要business_management权限

你可以通过Facebook官方的令牌调试工具检查权限列表,如果缺失权限,需要重新生成令牌时勾选对应权限,或者在商务管理平台中给令牌所属的用户/应用分配对应权限。

3. 广告账户ID无效或无权访问

  • 确认你使用的ID确实是广告账户ID,而不是用户ID、公共主页ID或商务管理平台ID
  • 检查访问令牌所属的用户/应用是否被授权访问该广告账户:在商务管理平台的广告账户设置里,确保该用户/应用被添加为管理员、编辑员(至少需要编辑员权限才能创建受众)

4. 应用未通过权限审核(针对公开应用)

如果你的应用是面向外部用户的公开应用,而非内部测试应用,需要通过Facebook的应用审核流程,获取ads_management等权限的正式授权,否则只能访问你自己的个人测试账户资源。

内容的提问来源于stack exchange,提问作者Harsh sachdev

火山引擎 最新活动