Hello!
Iam trying to add several kewords to the AdGroup.
Keyword "BL 4U" cannot be added due to ERROR:

Exception in thread "main" AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
 faultSubcode: 
 faultString: [PolicyViolationError{super=PolicyViolationError.POLICY_ERROR 
@ operations[0].operand.criterion.text; trigger:'4U', 
key=PolicyViolationKey{policyName=nonstandard_punctuation,violatingText=4U}, 
externalPolicyName=Non-standard punctuation, externalPolicyUrl=, 
externalPolicyDescription=Keywords aren't allowed to use excessive or 
unnecessary punctuation or symbols, or use non-standard punctuation, 
including tildes (~), asterisks (*) and vertical rules (|). 
<a 
href="https://support.google.com/adwordspolicy/answer/176095" 
target="_blank">See the full policy</a>, 
isExemtable=true, violatingParts=[Part{index=3, length=2}]}]
 faultActor: 
 faultNode: 
 faultDetail: 
{https://adwords.google.com/api/adwords/cm/v201509}ApiExceptionFault:<message>[PolicyViolationError{super=PolicyViolationError.POLICY_ERROR
 
@ operations[0].operand.criterion.text; trigger:'4U', 
key=PolicyViolationKey{policyName=nonstandard_punctuation,violatingText=4U}, 
externalPolicyName=Non-standard punctuation, externalPolicyUrl=, 
externalPolicyDescription=Keywords aren't allowed to use excessive or 
unnecessary punctuation or symbols, or use non-standard punctuation, 
including tildes (~), asterisks (*) and vertical rules (|). 
&lt;a 
href=&quot;https://support.google.com/adwordspolicy/answer/176095&quot; 
target=&quot;_blank&quot;&gt;See the full policy&lt;/a&gt;, 
isExemtable=true, violatingParts=[Part{index=3, 
length=2}]}]</message><ApplicationException.Type>ApiException</ApplicationException.Type><errors
 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:type="PolicyViolationError"><fieldPath>operations[0].operand.criterion.text</fieldPath><trigger>4U</trigger><errorString>PolicyViolationError.POLICY_ERROR</errorString><ApiError.Type>PolicyViolationError</ApiError.Type><key><policyName>nonstandard_punctuation</policyName><violatingText>4U</violatingText></key><externalPolicyName>Non-standard
 
punctuation</externalPolicyName><externalPolicyUrl/><externalPolicyDescription>Keywords
 
aren't allowed to use excessive or unnecessary punctuation or symbols, or 
use non-standard punctuation, including tildes (~), asterisks (*) and 
vertical rules (|). 
&lt;a 
href=&quot;https://support.google.com/adwordspolicy/answer/176095&quot; 
target=&quot;_blank&quot;&gt;See the full 
policy&lt;/a&gt;</externalPolicyDescription><isExemptable>true</isExemptable><violatingParts><index>3</index><length>2</length></violatingParts></errors>

[PolicyViolationError{super=PolicyViolationError.POLICY_ERROR @ 
operations[0].operand.criterion.text; trigger:'4U', 
key=PolicyViolationKey{policyName=nonstandard_punctuation,violatingText=4U}, 
externalPolicyName=Non-standard punctuation, externalPolicyUrl=, 
externalPolicyDescription=Keywords aren't allowed to use excessive or 
unnecessary punctuation or symbols, or use non-standard punctuation, 
including tildes (~), asterisks (*) and vertical rules (|). 
<a href="https://support.google.com/adwordspolicy/answer/176095"; 
target="_blank">See the full policy</a>, isExemtable=true, 
violatingParts=[Part{index=3, length=2}]}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:379)
at 
org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104)
at 
org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90)
at 
com.google.api.ads.adwords.axis.v201509.cm.ApiException.getDeserializer(ApiException.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at 
org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154)
at 
org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84)
at 
org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464)
at 
org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547)
at 
org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)
at 
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:379)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:648)
at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:332)
at 
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at 
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at 
com.google.api.ads.adwords.axis.v201509.cm.AdGroupCriterionServiceSoapBindingStub.mutate(AdGroupCriterionServiceSoapBindingStub.java:1730)
at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at 
com.google.api.ads.common.lib.soap.SoapClientHandler.invoke(SoapClientHandler.java:109)
at 
com.google.api.ads.common.lib.soap.axis.AxisHandler.invokeSoapCall(AxisHandler.java:230)
at 
com.google.api.ads.common.lib.soap.SoapServiceClient.callSoapClient(SoapServiceClient.java:62)
at 
com.google.api.ads.common.lib.soap.SoapServiceClient.invoke(SoapServiceClient.java:92)
at com.sun.proxy.$Proxy31.mutate(Unknown Source)
at ads.adwords.AdwordsAPI.addAdGroupKeywords(AdwordsAPI.java:225)
at ads.adwords.AdwordsAPI.campaign(AdwordsAPI.java:178)
at ads.adwords.AdwordsAPI.main(AdwordsAPI.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)



Code: 

AdGroupCriterionOperation[] operations = new 
AdGroupCriterionOperation[keywords.length];
int i = 0;
for (String keyword : keywords) {
    Keyword key = new Keyword();
    key.setText(keyword);
    key.setMatchType(KeywordMatchType.BROAD);
    BiddableAdGroupCriterion adGroupCriterion = new BiddableAdGroupCriterion();
    adGroupCriterion.setAdGroupId(adGroupId);
    adGroupCriterion.setCriterion(key);
    AdGroupCriterionOperation operation = new AdGroupCriterionOperation();
    operation.setOperand(adGroupCriterion);
    operation.setOperator(Operator.ADD);
    operations[i++] = operation;
}
AdGroupCriterionServiceInterface adGroupCriterionService = 
adWordsServices.get(session, AdGroupCriterionServiceInterface.class);
AdGroupCriterionReturnValue result = adGroupCriterionService.mutate(operations);



How the key "4U" violates keyword rules?!
Thanks.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/637ebe41-370a-41f4-a067-e266267d5989%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to