You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Facebook Ruby SDK无法拉取广告账户Campaign列表的异常问题

解决Facebook Business SDK无法从广告账户拉取全部Campaigns的问题

问题原因

报错「Tried accessing nonexisting field (campaigns) on node type (Page)」直接说明你代码里错误地对Page对象调用了campaigns字段,而不是对Ad Account对象操作——Page节点本身没有campaigns这个可访问字段,自然会触发报错。

解决方案

1. 确认广告账户ID格式正确

广告账户ID必须以act_开头(比如act_1234567890),不要用Page的ID或其他格式ID来初始化AdAccount对象。

2. 修正代码逻辑(Python示例)

确保基于正确的Ad Account对象调用拉取Campaign的接口:

from facebookbusiness.adobjects.adaccount import AdAccount
from facebookbusiness.api import FacebookAdsApi

# 初始化SDK
FacebookAdsApi.init(access_token='你的有效access_token')

# 用正确的广告账户ID创建AdAccount实例
ad_account = AdAccount('act_你的广告账户ID')

# 拉取Campaigns,可指定需要的字段
campaigns = ad_account.get_campaigns(fields=['id', 'name', 'status'])
for campaign in campaigns:
    print(f"Campaign ID: {campaign['id']}, Name: {campaign['name']}")

3. 额外验证(你已完成可忽略)

既然你已经单独拉取AdAccount和Campaign信息验证过权限,只需确保当前操作的对象是Ad Account而非Page即可。

内容的提问来源于stack exchange,提问作者mark DE Jong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 21:05:15