Hi SEMDEV, To address your questions:
a) The RelatedToKeywordSearchParameter has a limit of 100 keywords, as stated in the documentation: http://code.google.com/apis/adwords/v2009/docs/reference/TargetingIdeaService.RelatedToKeywordSearchParameter.html b) The number of results returned can be very large, and must be retrieved in pages. The page size can be a maximum of 800 for get() and 500 getBulkKeywordIdeas(): http://code.google.com/apis/adwords/v2009/docs/reference/TargetingIdeaService.html c) The API has various systems to protect against malicious users, but the details of these systems aren't made public. Best, - Eric On Nov 30, 4:51 pm, SEM <sem...@gmail.com> wrote: > Hi Eric: > > Thanks ... explicitly specifying additional attribute types worked! > On a related note, I have a few questions re: throttling / bandwidth > restrictions... > > a] What is the max number of keywords I can submit in a single request > to get keyword variations? > > b] Suppose I submit a set of 100,000 keywords as an input, what are > the limits w.r.t. returning results? > Does the adwords system throttle at Y output suggestions for X input > keywords? > > c] Are there any "rate limit" thresholds w.r.t. number of times this > API may be called per unit time per app token or per IP? > > Let me know. > > Regards. > > On Nov 30, 12:29 pm, AdWords API Advisor > > > > <adwordsapiadvi...@google.com> wrote: > > Hi SEMDEV, > > > I'm glad to hear this is working now, and thanks for the feedback > > about the client library. > > > As for the TargetingIdeaService, there are two types of objects that > > are easy to confuse: SearchParameters and AttributeTypes. > > SearchParamters are used to constrain or filter the results that are > > returned: > > > http://code.google.com/apis/adwords/v2009/docs/reference/TargetingIde... > > > AttributeTypes are used to bring back extra fields for each result > > that is returned: > > > http://code.google.com/apis/adwords/v2009/docs/reference/TargetingIde... > > > Both of these are set on the TargetingIdeaSelector, in the fields > > searchParameters and requestedAttributeTypes respectivly: > > > http://code.google.com/apis/adwords/v2009/docs/reference/TargetingIde... > > > In your case you want the AttributeTypes > > AVERAGE_TARGETED_MONTHLY_SEARCHES and GLOBAL_MONTHLY_SEARCHES. > > > Best, > > - Eric > > > On Nov 30, 3:06 pm, SEM <sem...@gmail.com> wrote: > > > > Hi Eric: > > > > I switched to instantiating the user using the client library code > > > at... > > > > AdWordsServiceLogger.log(); > > > AdWordsUser user = new AdWordsUser(EMAIL, PASSWORD, "xxx", > > > "xxx", "xxx"); > > > TargetingIdeaServiceInterface targetingIdeaService = > > > user.getService(AdWordsService.V200909.TARGETING_IDEA_SERVICE); > > > > ... and this worked for me. > > > > In digging deeper into the soap request, found that the request > > > header's namespace used by the client library was ... > > > >https://adwords.google.com/api/adwords/o/v200909 > > > > ... whereas my manually written code had an error and used the > > > following incorrect namespace ... > > > >https://adwords.google.com/api/adwords/cm/v200909 > > > > The error message wasn't clear in identifying that but this is now > > > solved. > > > > The reason why we prefer not to use Google's generated client library > > > is because version info is hardwired in to the generated package > > > names. > > > e.g. when you switch users from using 200906 to 200909, all of their > > > imports need to be manually changed. > > > If the generated client library omitted the version number from the > > > package name, our transition from one version of the API to the next > > > would be less effort. > > > > Once I got my prototype working, the TargetingIdea elements display > > > keyword text, match type and idea type. > > > How do I get it to display the average targeted monthly search volume > > > and the global monthly search volume for the keyword variations? > > > The documentation on AverageTargetedMonthlySearchesSearchParameter and > > > GlobalMonthlySearchesSearchParameter aren't clear. > > > Are these fields used as an input to restrict the suggestions that fit > > > within a volume range? > > > OR are they used as parameters to determine what output fields are > > > generated for the TargetingIdea elements? e.g. show me the volume for > > > the keyword variations? > > > The old deprecated v13 API for this that returned keyword variations > > > ashttp://code.google.com/apis/adwords/docs/developer/KeywordVariation.html > > > was more intuitive to use. > > > > Let me know. > > > > Thanks. > > > > On Nov 30, 8:39 am, AdWords API Advisor <adwordsapiadvi...@google.com> > > > wrote: > > > > > Hi SEMDEV, > > > > > Looking at your code it doesn't appear you are using the client > > > > library to generate your service. Please see the > > > > GetRelatedKeywords.java example for more information on how to use the > > > > client library: > > > > > http://code.google.com/p/google-api-adwords-java/source/browse/trunk/... > > > > > Best, > > > > - Eric > > > > > On Nov 29, 11:37 pm, SEM <sem...@gmail.com> wrote: > > > > > > Hi Eric: > > > > > > I just updated my project to use the newly downloaded client lib with > > > > > adwords-lib 6.2.0's jar > > > > > In addition, I updated my source to use all parameters as in the > > > > > example above but this still fails with this ambiguous error: > > > > > > Fault occurred while processing. > > > > > > Here's my updated source... > > > > > > final TargetingIdeaServiceInterface tisi = new > > > > > TargetingIdeaServiceLocator().getTargetingIdeaServiceInterfacePort(); > > > > > ((Stub) tisi).setHeader( > > > > > GOOGLE_API_NAMESPACE, "RequestHeader", > > > > > new SoapHeader("APP-TOKEN-REMOVED", AUTH_TOKEN, null, > > > > > EMAIL, "DEV-TOKEN-REMOVED", "USER-AGENT") > > > > > ); > > > > > > Keyword[] kwa = new Keyword[1]; > > > > > kwa[0] = new Keyword(); > > > > > kwa[0].setText("cheap airline tickets"); > > > > > kwa[0].setMatchType(KeywordMatchType.BROAD); > > > > > > LanguageTarget lt = new LanguageTarget(); > > > > > lt.setLanguageCode("en"); > > > > > CountryTarget ct = new CountryTarget(); > > > > > ct.setCountryCode("US"); > > > > > > TargetingIdeaSelector tis = new TargetingIdeaSelector(); > > > > > tis.setSearchParameters(new SearchParameter[] > > > > > { > > > > > new RelatedToKeywordSearchParameter(null, > > > > > kwa), > > > > > new ExcludedKeywordSearchParameter(null, kwa), > > > > > new KeywordMatchTypeSearchParameter(null, new > > > > > KeywordMatchType[] { kwa[0].getMatchType() } ), > > > > > new CompetitionSearchParameter(null, new > > > > > CompetitionSearchParameterLevel[] > > > > > {CompetitionSearchParameterLevel.LOW}), > > > > > new LanguageTargetSearchParameter(null, new > > > > > LanguageTarget[] > > > > > {lt}), > > > > > new CountryTargetSearchParameter(null, new > > > > > CountryTarget[] > > > > > {ct}) > > > > > } > > > > > ); > > > > > tis.setIdeaType(IdeaType.KEYWORD); > > > > > tis.setRequestType(RequestType.IDEAS); > > > > > tis.setPaging(new Paging(0, 6)); > > > > > > TargetingIdeaPage tip = tisi.get(tis); > > > > > TargetingIdea[] tia = tip.getEntries(); > > > > > for (TargetingIdea ti : tia) > > > > > { > > > > > System.out.println(ti); > > > > > } > > > > > > The error I still get is... > > > > > > Exception in thread "main" AxisFault > > > > > faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server > > > > > faultSubcode: > > > > > faultString: Fault occurred while processing. > > > > > faultActor: > > > > > faultNode: > > > > > faultDetail: > > > > > {http://xml.apache.org/axis/}stackTrace:Fault occurred while > > > > > processing. > > > > > at org.apache.axis.message.SOAPFaultBuilder.createFault > > > > > (SOAPFaultBuilder.java:222) > > > > > at org.apache.axis.message.SOAPFaultBuilder.endElement > > > > > (SOAPFaultBuilder.java:129) > > > > > at org.apache.axis.encoding.DeserializationContext.endElement > > > > > (DeserializationContext.java:1087) > > > > > at > > > > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement > > > > > (Unknown Source) > > > > > at > > > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scan > > > > > EndElement > > > > > (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.scan > > > > > Document > > > > > (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.transport.http.HTTPSender.readFromSocket > > > > > (HTTPSender.java:796) > > > > > at > > > > > org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java: > > > > > 144) > > > > > at org.apache.axis.strategies.InvocationStrategy.visit... > > read more » -- 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-...@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.