def adwordsServcices = new AdWordsServices() def adGroupCriterionService = adwordsServcices.get(session, AdGroupCriterionServiceInterface.class)
def criterion = new CriterionUserList() criterion.setId(id)
// Create ad group bid. def bidCriterion = new BiddableAdGroupCriterion() bidCriterion.setAdGroupId(adGroupId) bidCriterion.setCriterion(criterion) bidCriterion.setUserStatus(new UserStatus(status))
// Create operations. def operation = new AdGroupCriterionOperation() operation.setOperand(bidCriterion) operation.setOperator(Operator.SET)
def operations = (AdGroupCriterionOperation[]) [operation]
// Update ad group criteria. def result = adGroupCriterionService.mutate(operations)<?xml version="1.0" encoding="UTF-8"?><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/v201702" soapenv:mustUnderstand="0"> <ns1:clientCustomerId>00000000004707663694</ns1:clientCustomerId> <ns1:developerToken>REDACTED</ns1:developerToken> <ns1:userAgent>*******@gmail.com (AwApi-Java, AdWords-Axis/3.2.0, Common-Java/3.2.0, Axis/1.4, Java/1.8.0_131, maven)</ns1:userAgent> <ns1:validateOnly>true</ns1:validateOnly> <ns1:partialFailure>true</ns1:partialFailure> </ns1:RequestHeader> </soapenv:Header> <soapenv:Body> <mutate xmlns="https://adwords.google.com/api/adwords/cm/v201702"> <operations> <operator>SET</operator> <operand xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201702" xsi:type="ns2:BiddableAdGroupCriterion"> <adGroupId>39364874541</adGroupId> <criterion xsi:type="ns2:CriterionUserList"> <id>340920409188</id> </criterion> <userStatus>REMOVED</userStatus> </operand> </operations> </mutate> </soapenv:Body></soapenv:Envelope><?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/v201702"> <requestId>0005562c097bb4080a3706905407d6c0</requestId> <serviceName>AdGroupCriterionService</serviceName> <methodName>mutate</methodName> <operations>0</operations> <responseTime>124</responseTime> </ResponseHeader> </soap:Header> <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>[AdGroupCriterionError.INVALID_USER_STATUS @ operations[0].operand.userStatus]</faultstring> <detail> <ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/cm/v201702"> <message>[AdGroupCriterionError.INVALID_USER_STATUS @ operations[0].operand.userStatus]</message> <ApplicationException.Type>ApiException</ApplicationException.Type> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AdGroupCriterionError"> <fieldPath>operations[0].operand.userStatus</fieldPath> <fieldPathElements> <field>operations</field> <index>0</index> </fieldPathElements> <fieldPathElements> <field>operand</field> </fieldPathElements> <fieldPathElements> <field>userStatus</field> </fieldPathElements> <trigger/> <errorString>AdGroupCriterionError.INVALID_USER_STATUS</errorString> <ApiError.Type>AdGroupCriterionError</ApiError.Type> <reason>INVALID_USER_STATUS</reason> </errors> </ApiExceptionFault> </detail> </soap:Fault> </soap:Body></soap:Envelope>
new UserStatus(status)