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.


Reply via email to