Hi,
Before I state my question, please allow me to describe what I am trying to accomplish and how I am currently implementing it. I am downloading reports from multiple accounts (different ClientCustomerIDs) from an MCC account. I use Adhoc Reports within C# (.Net Library) to do this.
I already have a working code to do this. The logic for this is as follows:
1. Create an AdWordsUser object
2. Set AdWordsUser.Config.ClientCustomerId to the MCC Account's ClientCustomerId
3. Retrieve the list of accounts inside an MCC Account using the following classes: ManagedCustomerService, ManagedCustomerPage, ManagedCustomer
4. Iterate through the ManagedCustomerPage.entries array
4a. Get ManagedCustomer object from array
4b. Parse ManagedCustomer.customerID value to ClientCustomerId format (eg. 123-456-7890)
4c. Set AdWordsUser.Config.ClientCustomerId to parsed ManagedCustomer.customerID value
4d. Get report using ReportUtilities.GetClientReport() method
4e. Process the report data and append to combined reports
The above logic works fine although I think it is a bit inefficient in terms of API calls. When using this logic, the number of API calls is 1 + n, where n equals the number of accounts inside an MCC account. For example, if the MCC account contains 10 client accounts, the number of API calls needed is 11.
So here's my question. Is there a more efficient way to accomplish the logic described above using less API calls (1 API call would be ideal)?
I look forward to your answers. Thank you in advance for any help.
Best regards,
Mark Ibanez