QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED

63 views
Skip to first unread message

Monty808

unread,
Jan 18, 2021, 11:23:28 PM1/18/21
to AdWords API and Google Ads API Forum
Hi,

I am dumbfounded with google and their auth.  Really amazing 

1) I have a test account and logged in.  I see the red test account box.

2) I have a developer token from the main account

3) I refreshed the tokens and place into my googleads.yaml file while logged  into test account

4) Why?  Google leaves be no where to go with this error.  

Yes using python3 I get the below error

Error summary: {'faultMessage': "[QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'<null>']", 'requestId': '0005b93910e5acd50aa799deeb0b59aa', 'serviceName': 'CampaignService', 'methodName': 'get', 'operations': '1', 'responseTime': '123'}

Google Ads API Forum Advisor Prod

unread,
Jan 19, 2021, 1:35:47 AM1/19/21
to davidmo...@gmail.com, adwor...@googlegroups.com
Hi,

The error you encountered indicates that you may have specified a production Google Ads account while using an unapproved developer token.

To better investigate, could you provide the customer ID that you used? Also, could you confirm if you are using the AdWords API? If yes, could you share the generated SOAP request and response logs, along with the request ID? If you haven't yet, you can enable logging for your Python client library by referring to this guide.

If you are using the Google Ads API, you can send the request and response logs instead, also with the request ID. Logging can be enabled by referring to this guide.

You may send the requested information using the Reply privately to author option.

Best regards,

Google Logo
Peter Laurence Napa Oliquino
Google Ads API Team
 


ref:_00D1U1174p._5004Q2B1Nd1:ref
Message has been deleted

Monty808

unread,
Jan 19, 2021, 8:16:28 AM1/19/21
to AdWords API and Google Ads API Forum
Hi

I have three account ID's

Google Ads Account 720-757-1329
Manager Account 692-309-2748 Developer Token is from here
Manager Account 558-213-4827 The one with the Test Account an is the client_customer_id in the googleads.yaml and what O ran google reresh token on



 python3 app.py 

[2021-01-19 21:02:23,886 - googleads.soap - INFO] Request made: Service: "CampaignService" Method: "get" URL: "https://adwords.google.com/api/adwords/cm/v201809/CampaignService"

[2021-01-19 21:02:23,886 - googleads.soap - DEBUG] Outgoing request: {'SOAPAction': '""', 'Content-Type': 'text/xml; charset=utf-8', 'authorization': 'REDACTED'}

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">

  <soap-env:Header>

    <ns0:RequestHeader xmlns:ns0="https://adwords.google.com/api/adwords/cm/v201809">

      <ns0:developerToken>REDACTED</ns0:developerToken>

      <ns0:userAgent>unknown (AwApi-Python, googleads/26.0.0, Python/3.7.2, zeep)</ns0:userAgent>

      <ns0:validateOnly>false</ns0:validateOnly>

      <ns0:partialFailure>false</ns0:partialFailure>

    </ns0:RequestHeader>

  </soap-env:Header>

  <soap-env:Body>

    <ns0:get xmlns:ns0="https://adwords.google.com/api/adwords/cm/v201809">

      <ns0:serviceSelector>

        <ns0:fields>Id</ns0:fields>

        <ns0:fields>Name</ns0:fields>

        <ns0:fields>Status</ns0:fields>

        <ns0:paging>

          <ns0:startIndex>0</ns0:startIndex>

          <ns0:numberResults>100</ns0:numberResults>

        </ns0:paging>

      </ns0:serviceSelector>

    </ns0:get>

  </soap-env:Body>

</soap-env:Envelope>


[2021-01-19 21:02:24,290 - googleads.soap - DEBUG] Incoming response: 

b'<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">\n  <soap:Header>\n    <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201809">\n      <requestId>0005b9407320ea780a621715660469b5</requestId>\n      <serviceName>CampaignService</serviceName>\n      <methodName>get</methodName>\n      <operations>1</operations>\n      <responseTime>123</responseTime>\n    </ResponseHeader>\n  </soap:Header>\n  <soap:Body>\n    <soap:Fault>\n      <faultcode>soap:Client</faultcode>\n      <faultstring>[QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:\'&lt;null&gt;\']</faultstring>\n      <detail>\n        <ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/cm/v201809">\n          <message>[QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:\'&lt;null&gt;\']</message>\n          <ApplicationException.Type>ApiException</ApplicationException.Type>\n          <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="QuotaCheckError">\n            <fieldPath/>\n            <trigger>&lt;null&gt;</trigger>\n            <errorString>QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED</errorString>\n            <ApiError.Type>QuotaCheckError</ApiError.Type>\n            <reason>DEVELOPER_TOKEN_NOT_APPROVED</reason>\n          </errors>\n        </ApiExceptionFault>\n      </detail>\n    </soap:Fault>\n  </soap:Body>\n</soap:Envelope>\n'

[2021-01-19 21:02:24,290 - googleads.soap - WARNING] Error summary: {'faultMessage': "[QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'<null>']", 'requestId': '0005b9407320ea780a621715660469b5', 'serviceName': 'CampaignService', 'methodName': 'get', 'operations': '1', 'responseTime': '123'}

Traceback (most recent call last):

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/googleads/common.py", line 992, in MakeSoapRequest

    *packed_args, _soapheaders=soap_headers)['body']['rval']

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zeep/proxy.py", line 51, in __call__

    kwargs,

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zeep/wsdl/bindings/soap.py", line 135, in send

    return self.process_reply(client, operation_obj, response)

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zeep/wsdl/bindings/soap.py", line 229, in process_reply

    return self.process_error(doc, operation)

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zeep/wsdl/bindings/soap.py", line 333, in process_error

    detail=fault_node.find("detail"),

zeep.exceptions.Fault: [QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'<null>']


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "app.py", line 26, in <module>

    page = campaign_service.get(selector)

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/googleads/common.py", line 1004, in MakeSoapRequest

    e.detail, errors=error_list, message=e.message)

googleads.errors.GoogleAdsServerFault: [QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'<null>']

~/Documents/new-workspace/etf-project/etfGoogle$ python3 app.py 

[2021-01-19 21:09:58,023 - googleads.soap - INFO] Request made: Service: "CampaignService" Method: "get" URL: "https://adwords.google.com/api/adwords/cm/v201809/CampaignService"

[2021-01-19 21:09:58,023 - googleads.soap - DEBUG] Outgoing request: {'SOAPAction': '""', 'Content-Type': 'text/xml; charset=utf-8', 'authorization': 'REDACTED'}

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">

  <soap-env:Header>

    <ns0:RequestHeader xmlns:ns0="https://adwords.google.com/api/adwords/cm/v201809">

      <ns0:developerToken>REDACTED</ns0:developerToken>

      <ns0:userAgent>unknown (AwApi-Python, googleads/26.0.0, Python/3.7.2, zeep)</ns0:userAgent>

      <ns0:validateOnly>false</ns0:validateOnly>

      <ns0:partialFailure>false</ns0:partialFailure>

    </ns0:RequestHeader>

  </soap-env:Header>

  <soap-env:Body>

    <ns0:get xmlns:ns0="https://adwords.google.com/api/adwords/cm/v201809">

      <ns0:serviceSelector>

        <ns0:fields>Id</ns0:fields>

        <ns0:fields>Name</ns0:fields>

        <ns0:fields>Status</ns0:fields>

        <ns0:paging>

          <ns0:startIndex>0</ns0:startIndex>

          <ns0:numberResults>100</ns0:numberResults>

        </ns0:paging>

      </ns0:serviceSelector>

    </ns0:get>

  </soap-env:Body>

</soap-env:Envelope>


[2021-01-19 21:09:58,742 - googleads.soap - DEBUG] Incoming response: 

b'<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">\n  <soap:Header>\n    <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201809">\n      <requestId>0005b9408e37e7810a622aca680be4c1</requestId>\n      <serviceName>CampaignService</serviceName>\n      <methodName>get</methodName>\n      <operations>1</operations>\n      <responseTime>182</responseTime>\n    </ResponseHeader>\n  </soap:Header>\n  <soap:Body>\n    <soap:Fault>\n      <faultcode>soap:Client</faultcode>\n      <faultstring>[QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:\'&lt;null&gt;\']</faultstring>\n      <detail>\n        <ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/cm/v201809">\n          <message>[QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:\'&lt;null&gt;\']</message>\n          <ApplicationException.Type>ApiException</ApplicationException.Type>\n          <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="QuotaCheckError">\n            <fieldPath/>\n            <trigger>&lt;null&gt;</trigger>\n            <errorString>QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED</errorString>\n            <ApiError.Type>QuotaCheckError</ApiError.Type>\n            <reason>DEVELOPER_TOKEN_NOT_APPROVED</reason>\n          </errors>\n        </ApiExceptionFault>\n      </detail>\n    </soap:Fault>\n  </soap:Body>\n</soap:Envelope>\n'

[2021-01-19 21:09:58,743 - googleads.soap - WARNING] Error summary: {'faultMessage': "[QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'<null>']", 'requestId': '0005b9408e37e7810a622aca680be4c1', 'serviceName': 'CampaignService', 'methodName': 'get', 'operations': '1', 'responseTime': '182'}

Traceback (most recent call last):

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/googleads/common.py", line 992, in MakeSoapRequest

    *packed_args, _soapheaders=soap_headers)['body']['rval']

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zeep/proxy.py", line 51, in __call__

    kwargs,

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zeep/wsdl/bindings/soap.py", line 135, in send

    return self.process_reply(client, operation_obj, response)

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zeep/wsdl/bindings/soap.py", line 229, in process_reply

    return self.process_error(doc, operation)

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zeep/wsdl/bindings/soap.py", line 333, in process_error

    detail=fault_node.find("detail"),

zeep.exceptions.Fault: [QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'<null>']


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "app.py", line 26, in <module>

    page = campaign_service.get(selector)

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/googleads/common.py", line 1004, in MakeSoapRequest

    e.detail, errors=error_list, message=e.message)

googleads.errors.GoogleAdsServerFault: [QuotaCheckError.DEVELOPER_TOKEN_NOT_APPROVED @ ; trigger:'<null>']

Reply all
Reply to author
Forward

Google Ads API Forum Advisor Prod

unread,
Jan 19, 2021, 3:55:16 PM1/19/21
to davidmo...@gmail.com, adwor...@googlegroups.com

Hi,

Thank you for reaching out. You encountered the DEVELOPER_TOKEN_NOT_APPROVED error as your developer token is with the Test access, however, you were trying to make API calls to the production account. Please note that non-approved developer tokens can only be used with test accounts. The solution is to either upgrade your access level to Basic access via this form or make API calls against test accounts.

Thanks and regards,
Xiaoming, Google Ads API Team
 

Google Logo
Xiaoming
Google Ads API Team
 


ref:_00D1U1174p._5004Q2B1Nd1:ref
Reply all
Reply to author
Forward
0 new messages