Probably you have moved on from this problem since it was posted a few weeks ago, but here are my thoughts.
In general the best way to get bulk information about your account is by running a report, or a set of reports. Depending on what information you need, you may be able to get all of it from a Keyword Report. There is also something called the Account Structure report, available only through the API, that might come in handy. Running a report will be much faster than iterating over a ton of API calls, and it will consume a lot less API quota. On Aug 26, 6:01 pm, Chris <[email protected]> wrote: > Duh, adGroupCriterion.getAdGroupId() will get me the adGroupId (when > casting to Keyword you don't get this option, just remembered). > > But still, if anyone has any thoughts or comments about the situation > I described, please share :) > > On Aug 26, 4:56 pm, Chris <[email protected]> wrote: > > > > > Hi, > > > Spread over 26 campaigns I have around 7,000 adgroups. I want to > > iterate over all these adgroups and see what keywords are contained in > > them. I am creating instances of my custom AdGroup and Keyword data > > structures for each, and inserting the information returned from > > adwords. > > > // adwords api calls > > AdGroupCriterionServiceInterface adGroupCriterionService = > > user.getService(AdWordsService.V200909.ADGROUP_CRITERION_SERVICE); > > page = adGroupCriterionService.get(selector) > > > However I have a problem. If I send a new request for each adgroup > > ('selector' contains just one adgroup id) then this is a very slow > > process, around 1.5 seconds to check each adgroup. > > > I can make this muuuuch quicker by sending just one request to the > > adwords api, in which 'selector' contains all the 7,000 adgroup ids. > > However I have a variable 'adGroup' in my custom Keyword data > > structure for which I want to be able to point to the parent of the > > keyword. But the information returned from the adwords api doesn't > > seem to be sufficient to do this > > > for (AdGroupCriterion adGroupCriterion : page.getEntries()) { > > > If I could just find the id of the parent adgroup for a keyword then > > that would be enough, but the page entries don't contain this > > information. > > > I have also tried the one request per adgroup approach with multiple > > threads running, but I cannot send many requests before reaching the > > quota for max for ServicesUsagePerMinute (though this doesn't really > > appear to be a per minute quota). > > > Any advice on what I can do? > > > All help is much appreciated! > > > Chris -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en
