Google Adwords API广告投放时间标准ID

时间:2016-11-17 18:13:12

标签: python google-adwords

我正在编写一个脚本,可以同时自动设置多个广告系列的广告投放时间。

API调用的正文如下。

问题是我收到了这个错误:

  

WebFault:服务器引发的错误:' [RequiredError.REQUIRED @ operations [0] .operand.criterion.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)

1 个答案:

答案 0 :(得分:1)

如果您想添加新的广告投放时间,请使用ADD作为运算符,而不是SET。由于AdSchedule是不可变的(我认为所有标准都是),所以你无法修改它们。

如果您实际想要修改,则需要删除现有的AdSchedule并创建一个新的get。您可以通过调用CampaignCriterionService的campaign_criterion_service.get({ 'fields': ['Id', 'DayOfWeek', 'StartHour', 'StartMinute', 'EndHour', 'EndMinute'], 'predicates': [{ 'field': 'CriteriaType', 'operator': 'EQUALS', 'values': ['AD_SCHEDULE'] }] }) 方法来检索现有计划的ID,这可能如下所示:

{{1}}