2017-02-21 5 views
0

私は泡のオブジェクトがあります:私はアドワーズ広告のAPIを使用して他の何かに広告グループの入札を変更するにはGoogleアドワーズ広告APIでSET操作を作成しようとしているPython Adwords API suds.sudsobject空のインデックスキーを含む解析応答?

(AdGroupPage){ 
    totalNumEntries = 1 
    Page.Type = "AdGroupPage" 
    entries[] = 
     (AdGroup){ 
     id = 38496562285 
     campaignId = 759990659 
     campaignName = "Some Campaign #1" 
     name = "Second group" 
     status = "ENABLED" 
     biddingStrategyConfiguration = 
      (BiddingStrategyConfiguration){ 
       biddingStrategyType = "MANUAL_CPC" 
       bids[] = 
        (CpcBid){ 
        Bids.Type = "CpcBid" 
        bid = 
         (Money){ 
          ComparableValue.Type = "Money" 
          microAmount = 1230000 
         } 
        cpcBidSource = "ADGROUP" 
        }, 
      } 
     }, 
} 

<class 'suds.sudsobject.AdGroupPage'> 

泡の応答を突然変異操作。

これはPYTHONで私の試みです:私の要求からの誤差がある

operations = [{ 
    'operator': 'SET', 
    'operand': { 
     'id': 38496562285, 
     'biddingStrategyConfiguration': { 
      'bids': [{ 
       'bid': { 
        'microAmount': 4560000 
        } 
       }] 
      } 
     } 
    }] 

suds.TypeNotFound: Type not found: 'bid' 

ここでは、正常に動作し、簡単な例を示します

operations = [{ 
     'operator': 'SET', 
     'operand': { 
      'id': ad_group_id, 
      'status': 'PAUSED' 
     } 
    }] 

私の問題は、私はk今すぐbids[]の構文をsudsの応答から処理する方法。空のリストキーを使用するように辞書を変更するにはどうすればよいですか?

答えて

0

私はxsi_typeと呼ばれるものを含める必要がありました。で-場合、誰もがこの質問を越えつまずく、これは私のoperationsオブジェクトがどのように見えるかされています

operations = [{ 
     'operator': 'SET', 
     'operand': { 
     'id': 38496562285, 
     'biddingStrategyConfiguration': { 
      'bids': [{ 
      'xsi_type': 'CpcBid', 
      'bid': {'microAmount': 4560000} 
      }] 
      } 
     } 
     }] 

ここv201609 AdGroupService.BiddingStrategyConfigurationへのリンクです。 xsi_typeは言及されていませんが、bids[]のようなフィールドに遭遇した場合は、操作中にxsi_typeを定義しようとしています。