First Adwords API call...not working

107 views
Skip to first unread message

Geza Sapi

unread,
Jul 13, 2016, 6:51:56 PM7/13/16
to AdWords API Forum
Hello,

I am a newbie to Adwords and am trying to set up my first API call.

I get the refresh token, but when I run GetCampaigns.java, I get a long error message, copied below.
What am I doing wrong?
Thanks a lot.

Geza

-----------------
Exception in thread "main" AxisFault
        <ns1:RequestHeader xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201605" soapenv:mustUnderstand="0">
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
            <ns1:clientCustomerId>386-871-6698</ns1:clientCustomerId>
 faultSubcode:
            <ns1:developerToken>REDACTED</ns1:developerToken>
 faultString: [QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'&lt;null&gt;']
            <ns1:userAgent>Test (AwApi-Java, AdWords-Axis/2.16.0, Common-Java/2.16.0, Axis/1.4, Java/1.8.0_91, maven, SelectorBuilder, SelectorField)</ns1:userAgent>
 faultActor:
            <ns1:validateOnly>false</ns1:validateOnly>
 faultNode:
            <ns1:partialFailure>false</ns1:partialFailure>
 faultDetail:
        </ns1:RequestHeader>
    </soapenv:Header>
    {https://adwords.google.com/api/adwords/cm/v201605}ApiExceptionFault:<message>[QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'&lt;null&gt;']</message><ApplicationException.Type>ApiException</ApplicationException.Type><errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="QuotaCheckError"><fieldPath/><trigger>&lt;null&gt;</trigger><errorString>QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED</errorString><ApiError.Type>QuotaCheckError</ApiError.Type><reason>DEVELOPER_TOKEN_NOT_APPROVED</reason></errors>
    <soapenv:Body>

        <get xmlns="https://adwords.google.com/api/adwords/cm/v201605">
[QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'<null>']
            <serviceSelector>
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                <fields>Id</fields>
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
                <fields>Name</fields>
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                <ordering>
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
                    <field>Name</field>
    at java.lang.Class.newInstance(Class.java:442)
                    <sortOrder>ASCENDING</sortOrder>
                </ordering>
    at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104)
                <paging>
    at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90)
                    <startIndex>0</startIndex>
    at com.google.api.ads.adwords.axis.v201605.cm.ApiException.getDeserializer(ApiException.java:142)
                    <numberResults>100</numberResults>
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                </paging>
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            </serviceSelector>
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        </get>
    at java.lang.reflect.Method.invoke(Method.java:498)
    </soapenv:Body>
    at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154)
</soapenv:Envelope>
    at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84)

    at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464)
[14 Jul 2016 00:07:47,570-soapXmlLogger:WARN:main] SOAP Response:
    at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
    <soap:Header>
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
        <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201605">
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:380)
            <requestId>0005378b9e27de200a3741860c0acf96</requestId>
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2787)
            <serviceName>CampaignService</serviceName>
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
            <methodName>get</methodName>
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118)
            <operations>1</operations>
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
            <responseTime>85</responseTime>
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
        </ResponseHeader>
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
    </soap:Header>
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    <soap:Body>
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
        <soap:Fault>
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
            <faultcode>soap:Server</faultcode>
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
            <faultstring>[QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'&lt;null&gt;']</faultstring>
    at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
            <detail>
    at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
                <ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/cm/v201605">
    at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
    at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
                    <message>[QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'&lt;null&gt;']</message>
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)                    <ApplicationException.Type>ApiException</ApplicationException.Type>
                    <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="QuotaCheckError">
                        <fieldPath/>
                        <trigger>&lt;null&gt;</trigger>
                        <errorString>QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED</errorString>
                        <ApiError.Type>QuotaCheckError</ApiError.Type>
                        <reason>DEVELOPER_TOKEN_NOT_APPROVED</reason>

                    </errors>
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
                </ApiExceptionFault>
    at org.apache.axis.client.Call.invoke(Call.java:2767)
            </detail>
    at org.apache.axis.client.Call.invoke(Call.java:2443)
        </soap:Fault>
    at org.apache.axis.client.Call.invoke(Call.java:2366)
    </soap:Body>
    at org.apache.axis.client.Call.invoke(Call.java:1812)
</soap:Envelope>
    at com.google.api.ads.adwords.axis.v201605.cm.CampaignServiceSoapBindingStub.get(CampaignServiceSoapBindingStub.java:1364)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    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:248)
    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.$Proxy18.get(Unknown Source)
    at adwords.axis.v201605.basicoperations.GetCampaigns.runExample(GetCampaigns.java:78)
    at adwords.axis.v201605.basicoperations.GetCampaigns.main(GetCampaigns.java:55)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Process finished with exit code 1

Anthony Madrigal

unread,
Jul 13, 2016, 6:58:50 PM7/13/16
to AdWords API Forum
Hello Geza,

The reason you are getting this error is because your developer token has an access level of Test account. In order to make calls on your account you will need to apply for either Basic or Standard access.

I also noticed that your clientCustomerId is your manager account's Id. In order to run GetCampaigns, you will need to use one of your client accounts' Ids.

Cheers,
Anthony
AdWords API Team

ImmobiPortal ImmobiWeb

unread,
Jul 25, 2016, 11:52:58 AM7/25/16
to AdWords API Forum
Good day.

I have the same problem.

In the AdWords API Guide is written that is possble to test the api when I'm waiting the developer token approval response.
My MCC is test account and ?ve created the client accouint inserted in ads.properties withing AdWords interface.

I should want to test the api functionality before request base access level.

Best regards.

Stefano Errani
Reply all
Reply to author
Forward
0 new messages