ReportDefinitionService.getReportFields

91 views
Skip to first unread message

Timm Janssen

unread,
Jul 31, 2018, 12:49:51 PM7/31/18
to AdWords API and Google Ads API Forum
Hi,

we are not able to use method ReportDefinitionService.getReportFields without setting clientCustomerId once there is at least one inactive account within an MCC's account hierarchy. 


First reported on July, 30th.

Our request:

<?xml version='1.0' encoding='utf-8'?>
<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/v201806">
            
<ns0:developerToken>xxxxxxxxxxxx</ns0:developerToken>
            
<ns0:userAgent>APP (AwApi-Python, googleads/12.1.0, Python/2.7.13, zeep)</ns0:userAgent>
            
<ns0:validateOnly>false</ns0:validateOnly>
            
<ns0:partialFailure>false</ns0:partialFailure>
        
</ns0:RequestHeader>
    
</soap-env:Header>
    
<soap-env:Body>
        
<ns0:getReportFields xmlns:ns0="https://adwords.google.com/api/adwords/cm/v201806">
            
<ns0:reportType>ADGROUP_PERFORMANCE_REPORT</ns0:reportType>
        
</ns0:getReportFields>
    
</soap-env:Body>
</soap-env:Envelope>


with response

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    
<soap:Header>
        
<ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v201806">
            
<requestId>0005724ab4527b210a3717419801638f</requestId>
            
<serviceName>ReportDefinitionService</serviceName>
            
<methodName>getReportFields</methodName>
            
<operations>1</operations>
            
<responseTime>69</responseTime>
        
</ResponseHeader>
    
</soap:Header>
    
<soap:Body>
        
<soap:Fault>
            
<faultcode>soap:Client</faultcode>
            
<faultstring>[AuthorizationError.CUSTOMER_NOT_ACTIVE @ ; trigger:'&lt;null&gt;']</faultstring>
            
<detail>
                
<ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/cm/v201806">
                    
<message>[AuthorizationError.CUSTOMER_NOT_ACTIVE @ ; trigger:'&lt;null&gt;']</message>
                    
<ApplicationException.Type>ApiException</ApplicationException.Type>
                    
<errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AuthorizationError">
                        
<fieldPath></fieldPath>
                        
<trigger>&lt;null&gt;</trigger>
                        
<errorString>AuthorizationError.CUSTOMER_NOT_ACTIVE</errorString>
                        
<ApiError.Type>AuthorizationError</ApiError.Type>
                        
<reason>CUSTOMER_NOT_ACTIVE</reason>
                    
</errors>
                
</ApiExceptionFault>
            
</detail>
        
</soap:Fault>
    
</soap:Body>
</soap:Envelope>

Bharani Cherukuri (AdWords API Team)

unread,
Jul 31, 2018, 5:21:51 PM7/31/18
to AdWords API and Google Ads API Forum
Hello Timm, 

Thank you for the logs. The CUSTOMER_NOT_ACTIVE error is usually seen when the customer is not active and the access is denied. Could you please confirm the email address used to generated the OAuth credentials along with the MCC ID and inactive account ID? Here are the possible scenarios which might trigger this error: 
  • If the OAuth credentials used to make the API call, are generated using an email address that has access only to the inactive account then, this error is expected. You could perform a CustomerService.getCustomers() operation to check the users that are directly accessible by the user authenticating the call.
  • If the OAuth credentials are generated from an account which has access to multiple AdWords accounts and you're getting this error, could you please share the API SOAP logs for the CustomerService.getCustomers() so I can take a look? 
You can reply back via Reply privately to author option to share details privately. 

Thanks,
Bharani, AdWords API Team
Reply all
Reply to author
Forward
0 new messages