0

我正在尝试使用 python sdk 将广告集发布到 facebook 营销 api。

我收到此错误。

FacebookBadObjectError: This AdSet object was already created.

从这一行:

adset.remote_create(params={'status': 'PAUSED'})

这是功能:

adset = AdSet(campaign_result["id"])
adset.update({
    'name': 'test adset ex_2',
    'campaign_id': campaign_result["id"],
    'daily_budget': 150,
    'billing_event': 'IMPRESSIONS',
    'optimization_goal': 'REACH',
    'bid_amount': 10,
    'targeting': {'geo_locations': {'countries': ['US']},
                  'publisher_platforms': ['facebook']},
    'start_time': start_time,
    'end_time': end_time
})

adset.remote_create(params={'status': 'PAUSED'})

文档没有涵盖这一点。我正在关注本指南:https ://medium.com/@gokhang1327/publishing-facebook-ads-with-python-step-by-step-5c2a98ee4d58 使用此代码: https ://github.com/gokhangerdan/publish_facebook_ads/ blob/master/script.py

我的参数适用于图形 api 资源管理器。

如何在 python 中发布广告集?

4

1 回答 1

1

这与您的操作方式略有不同,但我发现在 AdAccount 类级别执行所有“创建”操作要容易得多,无论您是创建活动、广告组还是广告。这是我为创建新广告集而创建的一个函数,假设您要在其中创建它的广告系列已经存在:

my_adaccount = AdAccount([INSERT AD ACCOUNT ID HERE])
    
def create_ad_set(name, campaign_id, optimization_goal, status, daily_budget, billing_event, targeting, bid_strategy):
        params = {
            'name': name,
            'campaign_id': campaign_id,
            'optimization_goal': optimization_goal,
            'status': status,
            'daily_budget': daily_budget,
            'billing_event': billing_event,
            'targeting': targeting,
            'bid_strategy': bid_strategy
        }
        response = my_adaccount.create_ad_set(params=params)
        print(response)
        newest_adset = response['id']

经过大量试验和错误,我确定这些是成功创建广告组所需的所有参数。您显然可以在函数参数中编辑它们或添加更多您喜欢的内容。您可以在此处找到您的选项,以便于参考。

于 2020-07-10T20:57:31.627 回答