Hello,

 

I am trying to create a program that lists all client accounts that we
manage under our main MCC account. 

I found some sample code on one of your websites which I slightly modified
and is attached to this post. 

I am constantly getting the error attached.

 

In the source code I have replaced some values with dummy ones for security
reasons.

The code uses adwords api java client library version 8.4.0, 

I also tried with version 8.3.1 that one doesn't work too.

 

I think the problem might be related to the fact that we manage a lot of
client accounts 

(about 35 thousand) in our root-level MCC account (the one I am trying to
run the code for).

We also have 3-4 sub-MCC accounts which contain other sets of accounts
(about few thousands each,

but these are much less than those which are directly under our main MCC).

 

I do need such a program as I want to track accounts 

that might have been created by mistake in our MCC.

 

Could you please advise? 

 

Regards,

Peter

 

 

 

 

 

 

 

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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
// 
------------------------------------------------------------------------------------------------------------------

package main;

import java.util.Hashtable;

import com.google.api.adwords.lib.AdWordsService;
import com.google.api.adwords.lib.AdWordsUser;
import com.google.api.adwords.v201101.mcm.Account;
import com.google.api.adwords.v201101.mcm.ServicedAccountGraph;
import com.google.api.adwords.v201101.mcm.ServicedAccountSelector;
import com.google.api.adwords.v201101.mcm.ServicedAccountServiceInterface;

public class ListClientAccounts  {

        protected static String rootEmailProd = "xyz...@yyy12345.com";
        protected static String rootPasswordProd = "zzz123";
        protected static String appTokenProd = "abc123";
        protected static String devTokenProd = "abc123";
        protected static String clientEmail = "client...@company.com";

        public static void main(String[] args) {

                try {

                        AdWordsUser user = getAdWordsUser();

                        ServicedAccountServiceInterface servicedAccountService 
= (ServicedAccountServiceInterface) user
                                        
.getService(AdWordsService.V201101.SERVICED_ACCOUNT_SERVICE);

                        ServicedAccountSelector selector = new 
ServicedAccountSelector();
                        selector.setEnablePaging(false);

                        ServicedAccountGraph graph = 
servicedAccountService.get(selector);
                        Account[] accounts = null;

                        if (graph != null && (accounts = graph.getAccounts()) 
!= null) {

                                System.out.println("There are " + 
accounts.length
                                                + " customers " + " under this 
account's hierarchy.");
                                
                                int n = 0;

                                for (int i = 0; i < accounts.length; i++) {

                                        n++;

                                        System.out.println(String.format(
                                                        "[%10d] Customer id: 
[%s]. Login email: [%s]. "
                                                                        + 
"Company name: [%s]. IsMCC: [%s]\r\n", n,
                                                        
accounts[i].getCustomerId() + "",
                                                        accounts[i].getLogin() 
+ "",
                                                        
accounts[i].getCompanyName() + "",
                                                        
accounts[i].getCanManageClients() + ""));

                                }
                        }

                } catch (Exception ex) {
                        ex.printStackTrace();
                }

        }

        
        public static AdWordsUser getAdWordsUser() {
                Hashtable<String, String> headers = new Hashtable<String, 
String>();
                headers.put("email", rootEmailProd);
                headers.put("password", rootPasswordProd);
                headers.put("useragent", "xyz");
                headers.put("developerToken", devTokenProd);
                headers.put("applicationToken", appTokenProd);
                // headers.put("clientEmail", clientEmail);

                AdWordsUser user = new AdWordsUser(headers);

                return user;
        }

}






// 
------------------------------------------------------------------------------------------------------------------


C:\Programs\eclipse\workspace\AdWords>java -cp 
./bin;./lib/adwords-api-8.4.0.jar main.ListClientAccounts 


C:\Programs\eclipse\workspace\AdWords>run  ListClientAccounts > out333.txt
log4j:WARN No appenders could be found for logger (org.apache.axis.AxisEngine).
log4j:WARN Please initialize the log4j system properly.
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
 faultSubcode:
 faultString: InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ 
com.google.ads.api.services.common.error.InternalApiError.&lt;init&gt;(InternalApiErro
 faultActor:
 faultNode:
 faultDetail:
        {https://adwords.google.com/api/adwords/mcm/v201101}ApiExceptionFault:
        <ns2:message>InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ 
com.google.ads.api.services.common.error.InternalApiError.<init>(InternalApiError)</ns2:message>
        
<ns2:ApplicationException.Type>ApiException</ns2:ApplicationException.Type>
        <ns2:errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:type="ns2:InternalApiError">
        <ns2:fieldPath/><ns2:trigger/>
        
<ns2:errorString>InternalApiError.UNEXPECTED_INTERNAL_API_ERROR</ns2:errorString>
        <ns2:ApiError.Type>InternalApiError</ns2:ApiError.Type>
        <ns2:reason>UNEXPECTED_INTERNAL_API_ERROR</ns2:reason></ns2:errors>

InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ 
com.google.ads.api.services.common.error.InternalApiError.<init>(InternalApiErro
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown 
Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance0(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        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.adwords.v201101.cm.ApiException.getDeserializer(ApiException.java:142)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        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(Unknown
 Source)
        at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
 Source)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
 Source)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown 
Source)
        at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown 
Source)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
 Source)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown 
Source)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown 
Source)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown 
Source)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown 
Source)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
 Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        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.adwords.v201101.mcm.ServicedAccountServiceSoapBindingStub.get(ServicedAccountServiceSoapBindingStub.java:423)
        at main.ListClientAccounts.main(ListClientAccounts.java:32)

C:\Programs\eclipse\workspace\AdWords>


// 
------------------------------------------------------------------------------------------------------------------

Reply via email to