Kevin,

That's a huge help. 

Thank You!



On Jan 7, 2013, at 9:16 AM, Kevin Winter (AdWords API Team) 
<adwordsapiadvisor+ke...@google.com> wrote:

> Hi,
>   Here's an example of how the Java client library would format such a 
> request:
> 
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>     <soapenv:Header>
>         <ns1:RequestHeader 
> xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201209"; 
> soapenv:mustUnderstand="0">
>             <ns1:authToken>***</ns1:authToken>
>             <ns1:clientCustomerId>***</ns1:clientCustomerId>
>             <ns1:developerToken>***</ns1:developerToken>
>             <ns1:userAgent>FooBar (AwApi-Java, AdWords-Axis/internal, 
> Common-Java/1.12.1, Axis/1.4, Java/1.7.0-google-v5, internal)</ns1:userAgent>
>             <ns1:validateOnly>false</ns1:validateOnly>
>             <ns1:partialFailure>false</ns1:partialFailure>
>         </ns1:RequestHeader>
>     </soapenv:Header>
>     <soapenv:Body>
>         <mutate xmlns="https://adwords.google.com/api/adwords/cm/v201209";>
>         <operations>
>                 <operator>ADD</operator>
>                 <operand>
>                     <name>Interplanetary Cruise banner #1357578390298</name>
>                     <status>PAUSED</status>
>                     <budget>
>                         <budgetId>116580888</budgetId>
>                     </budget>
>                     <biddingStrategy 
> xmlns:ns6="https://adwords.google.com/api/adwords/cm/v201209"; 
> xsi:type="ns6:ManualCPM"/>
>                     <settings 
> xmlns:ns7="https://adwords.google.com/api/adwords/cm/v201209"; 
> xsi:type="ns7:KeywordMatchSetting">
>                         <ns7:optIn>false</ns7:optIn>
>                     </settings>
>                     <networkSetting>
>                         <targetGoogleSearch>false</targetGoogleSearch>
>                         <targetSearchNetwork>false</targetSearchNetwork>
>                         <targetContentNetwork>true</targetContentNetwork>
>                         
> <targetPartnerSearchNetwork>false</targetPartnerSearchNetwork>
>                     </networkSetting>
>                 </operand>
>             </operations>
>         </mutate>
>     </soapenv:Body>
> </soapenv:Envelope>
> 
> 
> Multiple settings would be specified like this:
> 
>                     <settings 
> xmlns:ns3="https://adwords.google.com/api/adwords/cm/v201209"; 
> xsi:type="ns3:GeoTargetTypeSetting">
>                         
> <ns3:positiveGeoTargetType>DONT_CARE</ns3:positiveGeoTargetType>
>                     </settings>
>                     <settings 
> xmlns:ns4="https://adwords.google.com/api/adwords/cm/v201209"; 
> xsi:type="ns4:KeywordMatchSetting">
>                         <ns4:optIn>false</ns4:optIn>
>                     </settings>
>                     <settings 
> xmlns:ns5="https://adwords.google.com/api/adwords/cm/v201209"; 
> xsi:type="ns5:TargetRestrictSetting">
>                         <ns5:useAdGroup>true</ns5:useAdGroup>
>                     </settings>
> 
> A list is just a repeated element, i.e. maxOccurs="unbounded" minOccurs="0"
> 
> - Kevin Winter
> AdWords API Team
> 
> On Friday, January 4, 2013 10:21:13 AM UTC-5, Noah wrote:
> Kevin,
> 
> We may very well decide to use the API for final production code.  However, 
> to fully understand the underlying communication process and options, we'd 
> like to start with some raw SOAP calls and work our way up.
> 
> This shouldn't be too difficult as SOAP is a fairly well defined protocol, 
> and Google has very thorough online documentation of every object, call, and 
> option.  Our main issue is that we don't understand some of the "notation" 
> that Google uses to describe SOAP options.  (While SOAP follows standards, 
> the documentation has no standard.)
> 
> For example, with this setting, the documentation is here:
> https://developers.google.com/adwords/api/docs/reference/latest/CampaignService.KeywordMatchSetting
> 
> Apparently it is a "setting" of "Campaign", which is documented here:
> https://developers.google.com/adwords/api/docs/reference/latest/CampaignService.Campaign
> 
> The documentation says that "Setting" is a "list", but doesn't really explain 
> how to use that in the XML
> 
> Is there an actual example of XML (SOAP) that uses this setting?
> 
> As it stands, the example, which is SOAP, is broken.
> 
> Thank You
> 
> 
> On Jan 4, 2013, at 7:04 AM, Kevin Winter (AdWords API Team) 
> <adwordsapia...@google.com> wrote:
> 
>> Thanks for pointing this out, I'll get the docs updated.
>> 
>> We strongly encourage you to use a client library to make SOAP calls, very 
>> few developers take this route.  Making raw requests like this will result 
>> in numerous headaches (such as this) trying to craft the appropriate SOAP.  
>> We have plenty of code examples showing how to do numerous actions with the 
>> API.  For example, adding campaigns in java: 
>> https://code.google.com/p/google-api-ads-java/source/browse/examples/adwords_axis/src/main/java/adwords/axis/v201209/basicoperations/AddCampaigns.java
>> 
>> - Kevin Winter
>> AdWords API Team
>> 
>> On Thursday, January 3, 2013 1:01:37 AM UTC-5, Noah wrote:
>> Still stuck on this.
>> 
>> 1) Has anyone resolved how that keyword_match_settings became mandatory?  
>> Should the documentation examples be updated?
>> 
>> 2) I can't figure out, from the online SOAP documentation, the correct way 
>> to set this variable.  Can someone provide me with an example SOAP request 
>> that includes this parameter?
>> 
>> Thanks
>> 
>> 
>> On Sunday, December 30, 2012 7:34:42 PM UTC-8, Noah wrote:
>> Hello,
>> 
>> I'm following, step-by-step, the documentation at: 
>> https://developers.google.com/adwords/api/docs/
>> 
>> 1) Get an auth token using CURL.  Works fine
>> 
>> 2) Send manual SOAP request with supplied auth, client id, etc.  FAILS
>> 
>> I get an error back from google that says (from the SOAP response): 
>> 
>> MUST_SPECIFY_KEYWORD_MATCH_SETTINGS
>> 
>> However, the example in the docs doesn't say anything about keyword match 
>> settings.  My guess is that Google updated some rules for creating 
>> campaigns, but failed to update the documentation.  
>> 
>> Suggestions?
>> 
>> 
>> 
>> <?xml version="1.0" encoding="UTF-8"?>
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>>    <soap:Header>
>>       <ResponseHeader 
>> xmlns="https://adwords.google.com/api/adwords/cm/v201209";>
>>          <requestId>0004d21d2c0c80800a42b6a8000037e3</requestId>
>>          <serviceName>CampaignService</serviceName>
>>          <methodName>mutate</methodName>
>>          <operations>0</operations>
>>          <responseTime>698</responseTime>
>>          <units>0</units>
>>       </ResponseHeader>
>>    </soap:Header>
>>    <soap:Body>
>>       <soap:Fault>
>>          <faultcode>soap:Server</faultcode>
>>          <faultstring>[CampaignError.MUST_SPECIFY_KEYWORD_MATCH_SETTINGS @ 
>> operations[0].operand.settings]</faultstring>
>>          <detail>
>>             <ApiExceptionFault 
>> xmlns="https://adwords.google.com/api/adwords/cm/v201209";>
>>                <message>[CampaignError.MUST_SPECIFY_KEYWORD_MATCH_SETTINGS @ 
>> operations[0].operand.settings]</message>
>>                
>> <ApplicationException.Type>ApiException</ApplicationException.Type>
>>                <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
>> xsi:type="CampaignError">
>>                   <fieldPath>operations[0].operand.settings</fieldPath>
>>                   <trigger />
>>                   
>> <errorString>CampaignError.MUST_SPECIFY_KEYWORD_MATCH_SETTINGS</errorString>
>>                   <ApiError.Type>CampaignError</ApiError.Type>
>>                   <reason>MUST_SPECIFY_KEYWORD_MATCH_SETTINGS</reason>
>>                </errors>
>>             </ApiExceptionFault>
>>          </detail>
>>       </soap:Fault>
>>    </soap:Body>
>> </soap: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 adwor...@googlegroups.com
>> To unsubscribe from this group, send email to
>> adwords-api...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/adwords-api?hl=en
>>  
>>  
>>  
> 
> 
> -- 
> -- 
> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
> 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 adwords-api@googlegroups.com
> To unsubscribe from this group, send email to
> adwords-api+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/adwords-api?hl=en
>  
>  
>  

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en



Reply via email to