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.<init>(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> // ------------------------------------------------------------------------------------------------------------------