2016-11-17 11 views
0

複数のキャンペーンの広告スケジュール時間を自動的に設定するスクリプトを作成しています。Google Adwords API広告スケジュール基準ID

APIコールの本文は次のとおりです。

問題は、私はこのエラーを取得することです:

明らか

WebFault: Server raised fault: '[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) 
+0

改善された文法とフォーマット:あなたがCampaignCriterionServiceのgetメソッドを呼び出すことにより、既存のスケジュールのIDを取得することができ、これはこのような何かを見ることができます – Ninjakannon

答えて

1

新しい広告のスケジュールを追加したい場合は、代わりにSETのオペレータとしてADDを使用しています。 AdScheduleは不変です(私はすべての基準がそうだと思います)、それらを変更することはできません。

実際に修正したい場合は、既存のAdScheduleを削除して新しいものを作成する必要があります。

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