*edit*

I just saw that I am already using batching, in fact, your SDK example is 
by default. I have not got further than to use your own SDK example: 
GetKeywordIdeas.java, 
since I can not reliably use it without getting random rate exceeded errors.

// Create related to query search parameter.
RelatedToQuerySearchParameter relatedToQuerySearchParameter =
    new RelatedToQuerySearchParameter();

relatedToQuerySearchParameter.setQueries(keywords.toArray(new String[0]));
searchParameters.add(relatedToQuerySearchParameter);




On Tuesday, March 5, 2019 at 7:10:25 AM UTC+1, Andreas Toresäter wrote:
>
> Hello and thank you for the answer.
> From the details I can read on all this there must then be a specific 
> problem with my dev token and a copy paste standard answer will not do?
>
> Based on the details shared, it looks like you're receiving an error with 
>> the rate scope as Account. This indicates that application is making a high 
>> number of requests per second on a single AdWords account.
>>
>
> The details I shared was that there are minutes apart of the requests.
>
> You could wait at least the amount of time specified in the 
>> retryAfterSeconds and retry the request again.
>>
>
> Yes, as I said in my question I do that.
>
>  You will need to consider all requests made against that account 
>> irrespective of whether the call was made via API or web interface.
>
>
> I am the only one making calls for these 3 accounts, and I do it by 
> manually doing one query with one operation at the time from my IDE.
>
> Please note that the API call might still fail as the rate limits are not 
>> based on a constant QPS and are subjected to change.
>>
>
> What exactly does this mean? Do you say I can get this error even if I do 
> let's say 1 request with one operation every hour?
>
> For the Rate limits, when you retry the requests, your application should 
>> use an exponential backoff policy 
>> <https://developers.google.com/adwords/api/docs/guides/bestpractices#distinguish_error_types>
>> .
>>
>
> How will this help if I still get this error when I just tried a query 
> after waiting for the whole night? 
>
> Please take a look at the system limits guide 
>> <https://developers.google.com/adwords/api/docs/appendix/limits#targeting-idea>
>>  for 
>> the TargetingIdea specific limits.
>>
>
> I am not getting any of those errors and I am well below the limits for 
> seed keywords, at the moment I am testing with 2-3. 
>
> You can also take a look at Batching Targeting Ideas 
>> <https://developers.google.com/adwords/api/docs/guides/bestpractices#batch_targeting_ideas>
>>  to 
>> make requests more efficiently.
>>
>
> I will look into this but I do not see how it will help in my case since I 
> get the error when I am using only a fraction of the rate limits you 
> publish.
>
> Please look into what is wrong with my dev token, thank you!
>
>
>
>
> On Monday, March 4, 2019 at 9:46:01 PM UTC+1, googleadsapi-forumadvisor 
> wrote:
>>
>> Hello Andreas, 
>>
>> Based on the details shared, it looks like you're receiving an error with 
>> the rate scope as Account. This indicates that application is making a high 
>> number of requests per second on a single AdWords account. You could wait 
>> at least the amount of time specified in the retryAfterSeconds and retry 
>> the request again. You will need to consider all requests made against that 
>> account irrespective of whether the call was made via API or web interface. 
>> Please note that the API call might still fail as the rate limits are not 
>> based on a constant QPS and are subjected to change. 
>>
>> For the Rate limits, when you retry the requests, your application should 
>> use an exponential backoff policy 
>> <https://developers.google.com/adwords/api/docs/guides/bestpractices#distinguish_error_types>.
>>  
>> For example, if you first pause 5 seconds before the first retry, you could 
>> pause 10 seconds after the second and 20 seconds after the third retry. 
>> Exponential backoff helps ensure you are not calling the API too 
>> aggressively. This guide 
>> <https://developers.google.com/adwords/api/docs/guides/rate-limits#take_control>
>>  has 
>> best practices that can be implemented to handle the rate limit errors. 
>> Please take a look at the system limits guide 
>> <https://developers.google.com/adwords/api/docs/appendix/limits#targeting-idea>
>>  for 
>> the TargetingIdea specific limits. You can also take a look at Batching 
>> Targeting Ideas 
>> <https://developers.google.com/adwords/api/docs/guides/bestpractices#batch_targeting_ideas>
>>  to 
>> make requests more efficiently. Could you please give this a try and let me 
>> know if you're still having an issue?
>>
>> Thanks,
>> Bharani, AdWords API Team
>>
>> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
>> Also find us on our blog and discussion group:
>>     http://googleadsdeveloper.blogspot.com/search/label/adwords_api
>>     https://developers.google.com/adwords/api/community/
>> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
>>
>> Was your question answered? Please rate your experience with us by taking 
>> a short survey.
>> If not -- reply to this email and tell us what else we can do to help.
>>
>> Take Survey 
>> <https://support.google.com/google-ads/contact/survey_transactional?caseid=6-2608000025997&hl=en&ctx=1>
>>
>> Also find us on our blog and discussion group:
>> http://googleadsdeveloper.blogspot.com/search/label/adwords_api
>> https://developers.google.com/adwords/api/community/
>> On 03/04/19 09:53:09 aperi...@gmail.com wrote:
>>
>> Hello,
>> I am having problems getting the GetKeywordIdeas to work reliably. It 
>> will randomly throw this error. 
>>
>> 1. I am not making excessive requests, I manually make them from the IDE.
>> 2. When I got the errors I always waited for at least 30 seconds
>> 3. I have tried 3 different accounts, both have spent 10 of thousands for 
>> ads and it happens on all of them.
>> 4. The very two first queries I ever did got this error, how can I have 
>> exceeded a limit if I never used the API before?
>>
>> Is there a solution to this issue, or a workaround? It is a great source 
>> of information for my customers but I need to be able to guarantee I can 
>> deliver it to them. Below is complete SOAP log for last time this happened:
>>
>> [Thread-1] WARN 
>> com.google.api.ads.adwords.lib.client.AdWordsServiceClient.requestInfoLogger 
>> - Request made: Service: TargetingIdeaService Method: get clientCustomerId: 
>> 723-498-3557 URL: 
>> https://adwords.google.com/api/adwords/o/v201806/TargetingIdeaService 
>> Request ID: 00058345c16d3c6a0ac1260cc0031364 ResponseTime(ms): 137 
>> OperationsCount: 1 IsFault: true FaultMessage: 
>> ApiException{applicationExceptionType=ApiException, 
>> errors=[RateExceededError{apiErrorType=RateExceededError, 
>> errorString=RateExceededError.RATE_EXCEEDED, fieldPath=, 
>> rateName=RATE_LIMIT, rateScope=ACCOUNT, reason=RATE_EXCEEDED, 
>> retryAfterSeconds=30, trigger=}]}
>> [Thread-1] INFO 
>> com.google.api.ads.adwords.lib.client.AdWordsServiceClient.soapXmlLogger - 
>> SOAP request:
>> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>> <soapenv:Envelope xmlns:soapenv="
>> http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="
>> http://www.w3.org/2001/XMLSchema"; xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance";>
>>     <soapenv:Header>
>>         <ns1:RequestHeader xmlns:ns1="
>> https://adwords.google.com/api/adwords/o/v201806"; 
>> soapenv:mustUnderstand="0">
>>             <ns2:clientCustomerId xmlns:ns2="
>> https://adwords.google.com/api/adwords/cm/v201806
>> ">723-498-3557</ns2:clientCustomerId>
>>             <ns3:developerToken xmlns:ns3="
>> https://adwords.google.com/api/adwords/cm/v201806
>> ">REDACTED</ns3:developerToken>
>>             <ns4:userAgent xmlns:ns4="
>> https://adwords.google.com/api/adwords/cm/v201806";>Aperico (AwApi-Java, 
>> AdWords-Axis/4.4.0, Common-Java/4.4.0, Axis/1.4, Java/1.8.0_191, 
>> maven)</ns4:userAgent>
>>             <ns5:validateOnly xmlns:ns5="
>> https://adwords.google.com/api/adwords/cm/v201806
>> ">false</ns5:validateOnly>
>>             <ns6:partialFailure xmlns:ns6="
>> https://adwords.google.com/api/adwords/cm/v201806
>> ">false</ns6:partialFailure>
>>         </ns1:RequestHeader>
>>     </soapenv:Header>
>>     <soapenv:Body>
>>         <get xmlns="https://adwords.google.com/api/adwords/o/v201806";>
>>             <selector>
>>                 <searchParameters xmlns:ns7="
>> https://adwords.google.com/api/adwords/o/v201806"; 
>> xsi:type="ns7:RelatedToQuerySearchParameter">
>>                     <ns7:queries>portable solar charger</ns7:queries>
>>                     <ns7:queries>best mppt charge 
>> controllers</ns7:queries>
>>                 </searchParameters>
>>                 <searchParameters xmlns:ns8="
>> https://adwords.google.com/api/adwords/o/v201806"; 
>> xsi:type="ns8:LanguageSearchParameter">
>>                     <ns8:languages>
>>                         <ns9:id xmlns:ns9="
>> https://adwords.google.com/api/adwords/cm/v201806";>1000</ns9:id>
>>                     </ns8:languages>
>>                 </searchParameters>
>>                 <searchParameters xmlns:ns10="
>> https://adwords.google.com/api/adwords/o/v201806"; 
>> xsi:type="ns10:NetworkSearchParameter">
>>                     <ns10:networkSetting>
>>                         <ns11:targetGoogleSearch xmlns:ns11="
>> https://adwords.google.com/api/adwords/cm/v201806
>> ">true</ns11:targetGoogleSearch>
>>                         <ns12:targetSearchNetwork xmlns:ns12="
>> https://adwords.google.com/api/adwords/cm/v201806
>> ">false</ns12:targetSearchNetwork>
>>                         <ns13:targetContentNetwork xmlns:ns13="
>> https://adwords.google.com/api/adwords/cm/v201806
>> ">false</ns13:targetContentNetwork>
>>                         <ns14:targetPartnerSearchNetwork xmlns:ns14="
>> https://adwords.google.com/api/adwords/cm/v201806
>> ">false</ns14:targetPartnerSearchNetwork>
>>                     </ns10:networkSetting>
>>                 </searchParameters>
>>                 <ideaType>KEYWORD</ideaType>
>>                 <requestType>IDEAS</requestType>
>>                 
>> <requestedAttributeTypes>KEYWORD_TEXT</requestedAttributeTypes>
>>                 
>> <requestedAttributeTypes>SEARCH_VOLUME</requestedAttributeTypes>
>>                 
>> <requestedAttributeTypes>AVERAGE_CPC</requestedAttributeTypes>
>>                 
>> <requestedAttributeTypes>COMPETITION</requestedAttributeTypes>
>>                 <paging>
>>                     <ns15:startIndex xmlns:ns15="
>> https://adwords.google.com/api/adwords/cm/v201806";>0</ns15:startIndex>
>>                     <ns16:numberResults xmlns:ns16="
>> https://adwords.google.com/api/adwords/cm/v201806
>> ">100</ns16:numberResults>
>>                 </paging>
>>             </selector>
>>         </get>
>>     </soapenv:Body>
>> </soapenv:Envelope>
>>
>> [Thread-1] INFO 
>> com.google.api.ads.adwords.lib.client.AdWordsServiceClient.soapXmlLogger - 
>> SOAP response:
>> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>>     <soap:Header>
>>         <ResponseHeader xmlns="
>> https://adwords.google.com/api/adwords/o/v201806"; xmlns:ns2="
>> https://adwords.google.com/api/adwords/cm/v201806";>
>>             
>> <ns2:requestId>00058345c16d3c6a0ac1260cc0031364</ns2:requestId>
>>             <ns2:serviceName>TargetingIdeaService</ns2:serviceName>
>>             <ns2:methodName>get</ns2:methodName>
>>             <ns2:operations>1</ns2:operations>
>>             <ns2:responseTime>137</ns2:responseTime>
>>         </ResponseHeader>
>>     </soap:Header>
>>     <soap:Body>
>>         <soap:Fault>
>>             <faultcode>soap:Server</faultcode>
>>             <faultstring>[RateExceededError &lt;rateName=RATE_LIMIT, 
>> rateKey=null, rateScope=ACCOUNT, retryAfterSeconds=30&gt;]</faultstring>
>>             <detail>
>>                 <ApiExceptionFault xmlns="
>> https://adwords.google.com/api/adwords/o/v201806"; xmlns:ns2="
>> https://adwords.google.com/api/adwords/cm/v201806";>
>>                     <ns2:message>[RateExceededError 
>> &lt;rateName=RATE_LIMIT, rateKey=null, rateScope=ACCOUNT, 
>> retryAfterSeconds=30&gt;]</ns2:message>
>>                     
>> <ns2:ApplicationException.Type>ApiException</ns2:ApplicationException.Type>
>>                     <ns2:errors xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance"; 
>> xsi:type="ns2:RateExceededError">
>>                         <ns2:fieldPath/>
>>                         <ns2:trigger/>
>>                         
>> <ns2:errorString>RateExceededError.RATE_EXCEEDED</ns2:errorString>
>>                         
>> <ns2:ApiError.Type>RateExceededError</ns2:ApiError.Type>
>>                         <ns2:reason>RATE_EXCEEDED</ns2:reason>
>>                         <ns2:rateName>RATE_LIMIT</ns2:rateName>
>>                         <ns2:rateScope>ACCOUNT</ns2:rateScope>
>>                         <ns2:retryAfterSeconds>30</ns2:retryAfterSeconds>
>>                     </ns2:errors>
>>                 </ApiExceptionFault>
>>             </detail>
>>         </soap:Fault>
>>     </soap:Body>
>> </soap:Envelope>
>>
>> Request failed due to ApiException. Underlying ApiErrors:
>>   Error 0: RateExceededError{apiErrorType=RateExceededError, 
>> errorString=RateExceededError.RATE_EXCEEDED, fieldPath=, 
>> rateName=RATE_LIMIT, rateScope=ACCOUNT, reason=RATE_EXCEEDED, 
>> retryAfterSeconds=30, trigger=}
>>
>> Thankful for any advice!
>>
>> -- 
>> -- 
>> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
>> Also find us on our blog:
>> https://googleadsdeveloper.blogspot.com/
>> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
>>  
>> You received this message because you are subscribed to the Google
>> Groups "AdWords API and Google Ads 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
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "AdWords API and Google Ads API Forum" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to adwords-api+unsubscr...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/adwords-api.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/adwords-api/b2c6a5e0-14ad-4841-8ccc-9af039154b60%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/adwords-api/b2c6a5e0-14ad-4841-8ccc-9af039154b60%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads 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
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/227518cb-300c-4de5-aede-d073f5270e83%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
  • Random ... Andreas Toresäter
    • RE... googleadsapi-forumadvisor via AdWords API and Google Ads API Forum
      • ... Andreas Toresäter
        • ... Andreas Toresäter
          • ... googleadsapi-forumadvisor via AdWords API and Google Ads API Forum
            • ... Andreas Toresäter
              • ... googleadsapi-forumadvisor via AdWords API and Google Ads API Forum
              • ... googleadsapi-forumadvisor via AdWords API and Google Ads API Forum
                • ... Andreas Toresäter
                • ... googleadsapi-forumadvisor via AdWords API and Google Ads API Forum
                • ... googleadsapi-forumadvisor via AdWords API and Google Ads API Forum

Reply via email to