Hey all, Has anybody used ProductAdExtensions with AdWords successfully? I'm seeing weird issues with getting a list of extensions (I always get 0 entries back, even if the campaign explicitly has ProductAdExtensions set up). In addition, all attempts to add ProductAdExtensions results in a NOT_AUTHORIZED_TO_CREATE_EXTENSION error. Now, the corresponding Google Merchant account already has the AdWords Client ID added. Is there some other connection point that I'm missing?
Here's a sample GET request (with various things redacted, of course): *** Outgoing HTTP headers ********************************************** POST /api/adwords/cm/v201101/CampaignAdExtensionService HTTP/1.0 Host:adwords.google.com User-agent:SOAPpy 0.12.0 (pywebsvcs.sf.net) XML-parser: xml.etree.cElementTree v1.0.6 Content-type:text/xml; charset="UTF-8" Content-length:1556 SOAPAction: ************************************************************************ *** Outgoing SOAP ****************************************************** <?xml version='1.0' encoding='UTF-8'?> <ns0:Envelope ns0:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"> <ns0:Header> <ns1:RequestHeader xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201101"> <ns1:authToken ns2:type="xsd3:string" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">xxxx</ns1:authToken> <ns1:userAgent ns2:type="xsd3:string" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">AwApi-Python-14.2.1</ns1:userAgent> <ns1:clientCustomerId ns2:type="xsd3:string" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">xxxxxx</ns1:clientCustomerId> <ns1:developerToken ns2:type="xsd3:string" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">xxxx</ns1:developerToken> <ns1:validateOnly ns2:type="xsd3:string" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">false</ns1:validateOnly> </ns1:RequestHeader> </ns0:Header> <ns0:Body> <ns1:get xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201101"> <ns1:serviceSelector ns2:type="Selector" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance"> <ns1:fields>AdExtensionId</ns1:fields> <ns1:fields>CampaignId</ns1:fields> <ns1:fields>Status</ns1:fields> <ns1:fields>AdvertiserName</ns1:fields> <ns1:fields>GoogleBaseCustomerId</ns1:fields> <ns1:predicates ns2:type="Predicate"> <ns1:field>CampaignId</ns1:field> <ns1:operator>EQUALS</ns1:operator> <ns1:values>xxxxx</ns1:values> </ns1:predicates> </ns1:serviceSelector> </ns1:get> </ns0:Body> </ns0:Envelope> ************************************************************************ *** Incoming HTTP headers ********************************************** HTTP/1.? 200 OK Content-Type: text/xml; charset=UTF-8 Date: Thu, 25 Aug 2011 22:43:18 GMT Expires: Thu, 25 Aug 2011 22:43:18 GMT Cache-Control: private, max-age=0 X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block Server: GSE ************************************************************************ *** Incoming SOAP ****************************************************** <?xml version='1.0' encoding='UTF-8'?> <ns0:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"> <ns0:Header> <ns1:ResponseHeader xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201101"> <ns1:requestId>0004ab5c27b250880a4206e90272fad5</ns1:requestId> <ns1:operations>0</ns1:operations> <ns1:responseTime>251</ns1:responseTime> <ns1:units>0</ns1:units> </ns1:ResponseHeader> </ns0:Header> <ns0:Body> <ns1:getResponse xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201101"> <ns1:rval> <ns1:totalNumEntries>0</ns1:totalNumEntries> <ns1:Page.Type>CampaignAdExtensionPage</ns1:Page.Type> </ns1:rval> </ns1:getResponse> </ns0:Body> </ns0:Envelope> ************************************************************************ Finally, here's one of our mutate requests: *** Outgoing HTTP headers ********************************************** POST /api/adwords/cm/v201101/CampaignAdExtensionService HTTP/1.0 Host:adwords.google.com User-agent:SOAPpy 0.12.0 (pywebsvcs.sf.net) XML-parser: xml.etree.cElementTree v1.0.6 Content-type:text/xml; charset="UTF-8" Content-length:1562 SOAPAction: ************************************************************************ *** Outgoing SOAP ****************************************************** <?xml version='1.0' encoding='UTF-8'?> <ns0:Envelope ns0:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"> <ns0:Header> <ns1:RequestHeader xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201101"> <ns1:authToken ns2:type="xsd3:string" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">xxxxxx</ns1:authToken> <ns1:userAgent ns2:type="xsd3:string" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">AwApi-Python-14.2.1</ns1:userAgent> <ns1:developerToken ns2:type="xsd3:string" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">xxxx</ns1:developerToken> <ns1:clientEmail ns2:type="xsd3:string" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">xxxx</ns1:clientEmail> <ns1:validateOnly ns2:type="xsd3:string" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance">false</ns1:validateOnly> </ns1:RequestHeader> </ns0:Header> <ns0:Body> <ns1:mutate xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201101"> <ns1:operations ns2:type="CampaignAdExtensionOperation" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance"> <ns1:operator>ADD</ns1:operator> <ns1:operand ns2:type="CampaignAdExtension"> <ns1:campaignId>xxxx</ns1:campaignId> <ns1:adExtension ns2:type="ProductExtension"> <ns1:googleBaseCustomerId>xxxxx</ns1:googleBaseCustomerId> <ns1:advertiserName>Some Name</ns1:advertiserName> </ns1:adExtension> </ns1:operand> </ns1:operations> </ns1:mutate> </ns0:Body> </ns0:Envelope> ************************************************************************ *** Incoming HTTP headers ********************************************** HTTP/1.? 500 Internal Server Error Content-Type: text/xml; charset=UTF-8 Date: Thu, 25 Aug 2011 23:03:52 GMT Expires: Thu, 25 Aug 2011 23:03:52 GMT Cache-Control: private, max-age=0 X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block Server: GSE ************************************************************************ *** Incoming SOAP ****************************************************** <?xml version='1.0' encoding='UTF-8'?> <ns0:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"> <ns0:Header> <ns1:ResponseHeader xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201101"> <ns1:requestId>0004ab5c7129bfa80a4248010270ab99</ns1:requestId> <ns1:operations>0</ns1:operations> <ns1:responseTime>1263</ns1:responseTime> <ns1:units>0</ns1:units> </ns1:ResponseHeader> </ns0:Header> <ns0:Body> <ns0:Fault> <faultcode>soap:Server</faultcode> <faultstring>[AdExtensionError.NOT_AUTHORIZED_TO_CREATE_EXTENSION @ operations[0].operand.adExtension]</faultstring> <detail> <ns1:ApiExceptionFault xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201101"> <ns1:message>[AdExtensionError.NOT_AUTHORIZED_TO_CREATE_EXTENSION @ operations[0].operand.adExtension]</ns1:message> <ns1:ApplicationException.Type>ApiException</ns1:ApplicationException.Type> <ns1:errors ns2:type="AdExtensionError" xmlns:ns2="http://www.w3.org/2001/XMLSchema-instance"> <ns1:fieldPath>operations[0].operand.adExtension</ns1:fieldPath> <ns1:trigger /> <ns1:errorString>AdExtensionError.NOT_AUTHORIZED_TO_CREATE_EXTENSION</ns1:errorString> <ns1:ApiError.Type>AdExtensionError</ns1:ApiError.Type> <ns1:reason>NOT_AUTHORIZED_TO_CREATE_EXTENSION</ns1:reason> </ns1:errors> </ns1:ApiExceptionFault> </detail> </ns0:Fault> </ns0:Body> </ns0:Envelope> ************************************************************************ -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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=en
