<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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/v201609" soapenv:mustUnderstand="0">
<ns1:clientCustomerId>YOUR_CLIENT_CUSTOMER_ID</ns1:clientCustomerId>
<ns1:developerToken>YOUR_DEVELOPER_TOKEN</ns1:developerToken>
<ns1:userAgent>YOUR_USER_AGENT</ns1:userAgent>
<ns1:validateOnly>false</ns1:validateOnly>
<ns1:partialFailure>false</ns1:partialFailure>
</ns1:RequestHeader>
</soapenv:Header>
<soapenv:Body>
<get xmlns="https://adwords.google.com/api/adwords/cm/v201609">
<serviceSelector>
<fields>CampaignId</fields>
<fields>Id</fields>
<fields>CriteriaType</fields>
<fields>LocationName</fields>
<fields>RadiusDistanceUnits</fields>
<fields>RadiusInUnits</fields>
<predicates>
<field>CriteriaType</field>
<operator>IN</operator>
<values>LOCATION</values>
<values>PROXIMITY</values>
</predicates>
<predicates>
<field>CampaignId</field>
<operator>EQUALS</operator>
<values>YOUR_CAMPAIGN_ID</values>
</predicates>
<paging>
<startIndex>0</startIndex>
<numberResults>100</numberResults>
</paging>
</serviceSelector>
</get>
</soapenv:Body>
</soapenv:Envelope>
[main] INFO com.google.api.ads.adwords.lib.client.AdWordsServiceClient.soapXmlLogger - SOAP Response:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201609">
<requestId>REQUEST_ID</requestId>
<serviceName>CampaignCriterionService</serviceName>
<methodName>get</methodName>
<operations>1</operations>
<responseTime>303</responseTime>
</ResponseHeader>
</soap:Header>
<soap:Body>
<getResponse xmlns="https://adwords.google.com/api/adwords/cm/v201609">
<rval>
<totalNumEntries>2</totalNumEntries>
<Page.Type>CampaignCriterionPage</Page.Type>
<entries>
<campaignId>YOUR_CAMPAIGN_ID</campaignId>
<isNegative>false</isNegative>
<criterion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Location">
<id>LOCATION_ID</id>
<type>LOCATION</type>
<Criterion.Type>Location</Criterion.Type>
<locationName>Mexico</locationName>
<displayType>Country</displayType>
<targetingStatus>ACTIVE</targetingStatus>
</criterion>
<CampaignCriterion.Type>CampaignCriterion</CampaignCriterion.Type>
</entries>
<entries>
<campaignId>YOUR_CAMPAIGN_ID</campaignId>
<isNegative>false</isNegative>
<criterion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Proximity">
<id>ID</id>
<type>PROXIMITY</type>
<Criterion.Type>Proximity</Criterion.Type>
<radiusDistanceUnits>MILES</radiusDistanceUnits>
<radiusInUnits>20.0</radiusInUnits>
<address>
<cityName>Dublin</cityName>
<provinceName>OH</provinceName>
<countryCode>US</countryCode>
</address>
</criterion>
<CampaignCriterion.Type>CampaignCriterion</CampaignCriterion.Type>
</entries>
</rval>
</getResponse>
</soap:Body>
</soap:Envelope>
selector = {
:fields => ['CampaignId', 'Id', 'LocationName', 'CanonicalName', 'DisplayType',
'ParentLocations', 'Reach', 'TargetingStatus'],
:predicates => [
{:field => 'CampaignId', :operator => 'EQUALS', :values => ['716319721']},
# Location names must match exactly, only EQUALS and IN are supported.
{:field => 'LocationName',
:operator => 'IN',
:values => location_names},
# Set the locale of the returned location names.
{:field => 'Locale', :operator => 'EQUALS', :values => [locale]},
]
}
criteria = location_criterion_srv.get(selector)
require 'adwords_api'
config = YAML.load_file(Rails.root.join('config/adwords_api_test.yml'))
API_VERSION = :v201607
adwords = AdwordsApi::Api.new(config)
campaign_criterion_srv = adwords.service(:CampaignCriterionService, API_VERSION)
selector = {
:fields => ['Id', 'CriteriaType', 'LocationName', 'RadiusDistanceUnits', 'RadiusInUnits'],
:predicates => [
{:field => 'CriteriaType', :operator => 'IN', :values => ['LOCATION', 'PROXIMITY']},
{:field => 'CampaignId', :operator => 'EQUALS', :values => [716393970]},
],
:paging => {
:start_index => 0,
:number_results => 100
}
}
campaign_criterion_srv.get(selector