Google Adwords API广告时间表标准ID



我正在编写一个脚本,自动设置多个活动的广告时间表时间。

API调用的主体如下:

问题是我得到这个错误:

WebFault: Server raise fault: '[RequiredError. ']要求@操作[0].operand. criteria .id]'

显然,缺少了标准ID。

标准ID应该是什么样的?

# create adschedule
adschedule = {
    'xsi_type': 'AdSchedule',
    'dayOfWeek': 'TUESDAY',
    'startHour': "0",
    'endHour': "22",
    'startMinute': "FIFTEEN",
    'endMinute': "FORTY_FIVE"
}
# Create operation
operation = {
    'operator': 'SET',
    'operand': {
        "campaignId": campaignId,
        "criterion": adschedule
    }
}
# Make the mutate request.
result = campaign_criterion_service.mutate(operation)

如果要添加新的广告调度,请使用ADD作为操作符而不是SET。因为AdSchedule s是不可变的(我认为所有的标准都是),你不能修改它们。

如果修改是您真正想要做的,您需要删除现有的AdSchedule并创建一个新的。您可以通过调用CampaignCriterionService的get方法来检索现有调度的id,这看起来像这样:

campaign_criterion_service.get({
    'fields': ['Id', 'DayOfWeek', 'StartHour', 'StartMinute', 'EndHour', 'EndMinute'],
    'predicates': [{
        'field': 'CriteriaType',
        'operator': 'EQUALS',
        'values': ['AD_SCHEDULE']
    }]
})

最新更新