I am trying to update keyword text and its destinationUrl. 1. I specify it in the way showed below, and it updates correctly destinationUrl but text for keyword stay the same. In response there is also old text 2. It is also strange that if I specify adGroupId, keyword.id and don't specify keyword.text and keyword.matchType it will not perform update. Result is error that text and type is required.
kwd_operation = ad_group_criterion_srv.module::AdGroupCriterionOperation.new kwd_operand = ad_group_criterion_srv.module::BiddableAdGroupCriterion.new kwd_operand.adGroupId = ADGROUPID keyword = ad_group_criterion_srv.module::Keyword.new keyword.matchType = 'BROAD' keyword.id = KEYWORDID keyword.text = 'text to update' kwd_operand.destinationUrl = URL kwd_operand.criterion = keyword kwd_operation.operand = kwd_operand kwd_operation.operator = 'SET' kwd_operation.exemptionRequests = [] POINT 1 request and response ! CONNECT TO adwords.google.com:443 ! CONNECTION ESTABLISHED POST /api/adwords/cm/v200909/AdGroupCriterionService HTTP/1.1 SOAPAction: "" Content-Type: text/xml; charset=utf-8 User-Agent: SOAP4R/1.5.8 (httpclient.rb/280, ruby 1.8.7 (2008-08-11) [i486-linux]) Date: Fri, 20 Nov 2009 12:41:18 GMT Content-Length: 1596 Host: adwords.google.com <?xml version="1.0" encoding="utf-8" ?> <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Header> <n1:RequestHeader env:mustUnderstand="0" xmlns:n1="https://adwords.google.com/api/adwords/cm/ v200909"> <n1:authToken>xxx</n1:authToken> <n1:userAgent>adwords4r: xxxx</n1:userAgent> <n1:applicationToken>xxx</n1:applicationToken> <n1:developerToken>xxx</n1:developerToken> <n1:clientEmail>xxxx</n1:clientEmail> </n1:RequestHeader> </env:Header> <env:Body> <n2:mutate xmlns:n2="https://adwords.google.com/api/adwords/cm/ v200909"> <n2:operations xsi:type="n2:AdGroupCriterionOperation"> <n2:operator>SET</n2:operator> <n2:operand xsi:type="n2:BiddableAdGroupCriterion"> <n2:adGroupId>ADGROUPID</n2:adGroupId> <n2:criterion xsi:type="n2:Keyword"> <n2:id>KEYWORDID</n2:id> <n2:text>text to update</n2:text> <n2:matchType>BROAD</n2:matchType> </n2:criterion> <n2:destinationUrl>URL</n2:destinationUrl> </n2:operand> </n2:operations> </n2:mutate> </env:Body> </env:Envelope> = Response HTTP/1.1 200 OK Content-Type: text/xml; charset=UTF-8 SOAPAction: "" Transfer-Encoding: chunked Date: Fri, 20 Nov 2009 12:41:17 GMT Expires: Fri, 20 Nov 2009 12:41:17 GMT Cache-Control: private, max-age=0 X-Content-Type-Options: nosniff X-XSS-Protection: 0 X-Frame-Options: SAMEORIGIN Server: GFE/2.0 614 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/ envelope/"><soap:Header><ResponseHeader xmlns="https:// adwords.google.com/api/adwords/cm/ v200909"><requestId>3da83ffe3f6331f2cc3b37e4031c1a18</ requestId><operations>1</operations><responseTime>470</ responseTime><units>3</units></ResponseHeader></ soap:Header><soap:Body><mutateResponse xmlns="https:// adwords.google.com/api/adwords/cm/ v200909"><rval><ListReturnValue.Type>AdGroupCriterionReturnValue</ ListReturnValue.Type><value xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance" xsi:type="BiddableAdGroupCriterion"><adGroupId>820969566</ adGroupId><criterion xsi:type="Keyword"><id>376765347</ id><Criterion.Type>Keyword</Criterion.Type><text>TEXT</ text><matchType>BROAD</matchType></ criterion><AdGroupCriterion.Type>BiddableAdGroupCriterion</ AdGroupCriterion.Type><userStatus>ACTIVE</ userStatus><systemServingStatus>ELIGIBLE</ systemServingStatus><approvalStatus>PENDING_REVIEW</ approvalStatus><destinationUrl>URL</ destinationUrl><bids xsi:type="ManualCPCAdGroupCriterionBids"><AdGroupCriterionBids.Type>ManualCPCAdGroupCriterionBids</ AdGroupCriterionBids.Type><maxCpc><amount><ComparableValue.Type>Money</ ComparableValue.Type><microAmount>610000</microAmount></amount></ maxCpc><bidSource>ADGROUP</bidSource></ bids><firstPageCpc><amount><ComparableValue.Type>Money</ ComparableValue.Type><microAmount>60000</microAmount></amount></ firstPageCpc><qualityInfo><qualityScore>7</qualityScore></ qualityInfo></value></rval></mutateResponse></soap:Body></ soap:Envelope> 0 ! CONNECTION CLOSED POINT 2 request and response = Request ! CONNECT TO adwords.google.com:443 ! CONNECTION ESTABLISHED POST /api/adwords/cm/v200909/AdGroupCriterionService HTTP/1.1 SOAPAction: "" Content-Type: text/xml; charset=utf-8 User-Agent: SOAP4R/1.5.8 (httpclient.rb/280, ruby 1.8.7 (2008-08-11) [i486-linux]) Date: Fri, 20 Nov 2009 12:25:24 GMT Content-Length: 1482 Host: adwords.google.com <?xml version="1.0" encoding="utf-8" ?> <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Header> <n1:RequestHeader env:mustUnderstand="0" xmlns:n1="https://adwords.google.com/api/adwords/cm/ v200909"> <n1:authToken>xxxx</n1:authToken> <n1:userAgent>xxx</n1:userAgent> <n1:applicationToken>xxx</n1:applicationToken> <n1:developerToken>xxxx</n1:developerToken> <n1:clientEmail>xxxx</n1:clientEmail> </n1:RequestHeader> </env:Header> <env:Body> <n2:mutate xmlns:n2="https://adwords.google.com/api/adwords/cm/ v200909"> <n2:operations xsi:type="n2:AdGroupCriterionOperation"> <n2:operator>SET</n2:operator> <n2:operand xsi:type="n2:BiddableAdGroupCriterion"> <n2:adGroupId>ADGROUPID</n2:adGroupId> <n2:criterion xsi:type="n2:Keyword"> <n2:id>KEYWORDID</n2:id> </n2:criterion> <n2:destinationUrl>URL WHICH I WANT TO SET</ n2:destinationUrl> </n2:operand> </n2:operations> </n2:mutate> </env:Body> </env:Envelope> = Response HTTP/1.1 200 OK Content-Type: text/xml; charset=UTF-8 Transfer-Encoding: chunked Date: Fri, 20 Nov 2009 12:25:23 GMT Expires: Fri, 20 Nov 2009 12:25:23 GMT Cache-Control: private, max-age=0 X-Content-Type-Options: nosniff X-XSS-Protection: 0 X-Frame-Options: SAMEORIGIN Server: GFE/2.0 573 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/ envelope/"><soap:Header><ResponseHeader xmlns="https:// adwords.google.com/api/adwords/cm/ v200909"><requestId>ecbfbbc4ddab908ec17214f978b9eb1c</ requestId><operations>1</operations><responseTime>347</ responseTime><units>3</units></ResponseHeader></ soap:Header><soap:Body><soap:Fault><faultcode>soap:Server</ faultcode><faultstring>[RequiredError.REQUIRED @ operations [0].operand.criterion.text, RequiredError.REQUIRED @ operations [0].operand.criterion.matchType]</ faultstring><detail><ApiExceptionFault xmlns="https:// adwords.google.com/api/adwords/cm/v200909"><message> [RequiredError.REQUIRED @ operations[0].operand.criterion.text, RequiredError.REQUIRED @ operations[0].operand.criterion.matchType]</ message><ApplicationException.Type>ApiException</ ApplicationException.Type><errors xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance" xsi:type="RequiredError"><fieldPath>operations [0].operand.criterion.text</fieldPath><trigger></ trigger><ApiError.Type>RequiredError</ApiError.Type><reason>REQUIRED</ reason></errors><errors xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:type="RequiredError"><fieldPath>operations [0].operand.criterion.matchType</fieldPath><trigger></ trigger><ApiError.Type>RequiredError</ApiError.Type><reason>REQUIRED</ reason></errors></ApiExceptionFault></detail></soap:Fault></ soap:Body></soap:Envelope> 0 ! CONNECTION CLOSED -- You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/adwords-api?hl=.
