After adding some more logging, another example that results in a 400 on 
our side:


19:07:52 [WARN] c.g.a.a.a.lib.utils.report_download Request made: Service: 
reportdownload Method: POST clientCustomerId: XXX URL: 
https://adwords.google.com//api/adwords/reportdownload/v201710 Request ID: 
null ResponseTime(ms): null OperationsCount: null IsFault: true 
FaultMessage: com.google.api.ads.adwords.lib.utils.ReportException: 502: 
Bad Gateway
2018-04-15 19:07:52 [INFO] c.g.a.a.a.lib.utils.report_download HTTP request:
accept-encoding: [gzip]
authorization: REDACTED
user-agent: [XXX (AwApi-Java, Common-Java/3.12.0, Java/1.8.0_121, maven, 
ReportDownloader)]
developertoken: REDACTED
clientcustomerid: XXX
includezeroimpressions: false

Content:
__rdquery: SELECT Conversions,ConversionValue FROM 
SHOPPING_PERFORMANCE_REPORT WHERE CountryCriteriaId = 2250 DURING 
20180316,20180415
__fmt: XML

Caused by: HTTP Response Code: 400 at 
com.google.api.ads.adwords.lib.utils.v201710.DetailedReportDownloadResponseException$Builder.build(DetailedReportDownloadResponseException.java:35)

Am Freitag, 30. März 2018 15:15:38 UTC+2 schrieb Josh Radcliff (AdWords API 
Team):
>
> Hi Ron,
>
> Sorry, I'm still having trouble locating those requests in our logs. Would 
> you mind sending over the customer ID where your developer token is 
> registered? You can send it only to me by clicking *Reply privately to 
> author*.
>
> Regarding the timeout theory, the ReportDownloader won't automatically 
> retry requests. However, if you think timeouts are the root cause here, you 
> can adjust the timeout for report downloads programmatically or in your 
> *ads.properties* file. Check out this section of the ads.properties file 
> <https://github.com/googleads/googleads-java-lib/blob/master/examples/adwords_axis/src/main/resources/ads.properties#L47>
>  for 
> details.
>
> Thanks,
> Josh, AdWords API Team
>
> On Wednesday, March 28, 2018 at 8:10:33 AM UTC-4, Ronald Findling wrote:
>>
>> Hi Josh,
>>
>> I checked the request data that I provided you and they are exactly what 
>> I can see in my logs. Maybe I should mention that the provided time is the 
>> time at which the request failed not when it was sent to your servers (that 
>> time is ~30-40 seconds before).
>>
>> Concerning the thread-safety recommendations I'm sure that the 
>> ReportDownloader and its Session are not used in multiple threads in our 
>> code.
>>
>> Further information: 
>> Checking our errors I found an interesting pattern, failing requests 
>> always take at least 30 seconds (usually 30-31) while successful ones are 
>> most likely to be around 1 second.
>>
>> Maybe a stupid thought but could it be a something like the java-library 
>> timing out after 30 seconds and retrying using the provided 
>> session/ReportDownloader again which then violates the threadSafety and 
>> results in invalid requests?
>>
>> Best Regards,
>> Ron
>>
>>
>> Am Dienstag, 27. März 2018 23:05:31 UTC+2 schrieb Josh Radcliff (AdWords 
>> API Team):
>>>
>>> Hi Ronald,
>>>
>>> I searched the logs on our side and could not find either of those 
>>> requests. Are you sure that they were submitted for the account ID you 
>>> mentioned?
>>>
>>> By the way, did you check if you're adhering to the thread safety 
>>> guidelines I mentioned earlier? I just want to make sure we can rule that 
>>> out as a possible cause of the errors.
>>>
>>> Thanks,
>>> Josh, AdWords API Team
>>>
>>> On Tuesday, March 27, 2018 at 9:53:11 AM UTC-4, Ronald Findling wrote:
>>>>
>>>> Hi Josh,
>>>>
>>>> thx for the hints.
>>>> Concerning the requested information I can give you 2 identical request 
>>>> where one succeeded and the other one failed with a 400 as shown in my 
>>>> last 
>>>> message.
>>>>
>>>> failed:
>>>> time: 27.03.18 01:06:08 CEST
>>>> googleAdwordsAccountId: 685-366-2732
>>>> SELECT Conversions,ConversionValue FROM SHOPPING_PERFORMANCE_REPORT 
>>>> WHERE CountryCriteriaId = 2826 DURING 20180225,20180327;
>>>>
>>>> succeeded:
>>>> time: 27.03.18 03:06:30 CEST
>>>> googleAdwordsAccountId: 685-366-2732
>>>> SELECT Conversions,ConversionValue FROM SHOPPING_PERFORMANCE_REPORT 
>>>> WHERE CountryCriteriaId = 2826 DURING 20180225,20180327;
>>>>
>>>> Best Regards, Ron
>>>>
>>>> Am Dienstag, 20. März 2018 21:54:13 UTC+1 schrieb Josh Radcliff 
>>>> (AdWords API Team):
>>>>>
>>>>> Hi Raneen,
>>>>>
>>>>> From our logs, it appears that your requests are most frequently 
>>>>> failing with the following errors:
>>>>>
>>>>>    - ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCH
>>>>>    - AuthorizationError.USER_PERMISSION_DENIED
>>>>>    - ReportDefinitionError.INVALID_FIELD_NAME_FOR_REPORT
>>>>>    
>>>>> Could you share a report request that failed, with any sensitive 
>>>>> information removed (developer token, OAuth access token, etc.)?
>>>>>
>>>>> Also, I see that you are using the client library for Java. Are you 
>>>>> adhering to the thread-safety recommendations 
>>>>> <https://github.com/googleads/googleads-java-lib/wiki/Thread-Safety>? 
>>>>> For example, you should not use a *ReportDownloader* instance within 
>>>>> multiple threads. Doing so will produce unpredictable behavior, such as 
>>>>> malformed requests or issues parsing responses.
>>>>>
>>>>> Thanks,
>>>>> Josh, AdWords API Team
>>>>>
>>>>> On Tuesday, March 20, 2018 at 3:06:14 PM UTC-4, Sreelakshmi Sasidharan 
>>>>> (AdWords API Team) wrote:
>>>>>>
>>>>>> Hi Ron, 
>>>>>>
>>>>>> The V201702 version of the API is deprecated and all calls made to 
>>>>>> this version of the API will return an error. v201802 
>>>>>> <https://googleadsdeveloper.blogspot.com/2018/02/announcing-v201802-of-adwords-api.html>
>>>>>>  is 
>>>>>> the most recent version of the API currently available. We strongly 
>>>>>> recommend that you migrate to this version. For future reference, please 
>>>>>> find the deprecation schedule 
>>>>>> <https://developers.google.com/adwords/api/docs/sunset-dates> for 
>>>>>> various API versions. The resources given below might be helpful for you 
>>>>>> in 
>>>>>> migration: 
>>>>>>
>>>>>>    - v201802 migration guide 
>>>>>>    
>>>>>> <https://developers.google.com/adwords/api/docs/guides/migration/v201802>
>>>>>>    - v201710 migration guide 
>>>>>>    
>>>>>> <https://developers.google.com/adwords/api/docs/guides/migration/v201710>
>>>>>>    - v201708 migration guide 
>>>>>>    
>>>>>> <https://developers.google.com/adwords/api/docs/guides/migration/v201708>
>>>>>>  (useful 
>>>>>>    if you are migrating from v201705)
>>>>>>    - Release notes 
>>>>>>    <https://developers.google.com/adwords/api/docs/reference/>
>>>>>>
>>>>>> You could follow our Google Ads Developer blog 
>>>>>> <https://googleadsdeveloper.blogspot.com/search/label/adwords_api> or 
>>>>>> the AdWords API Announcements forum 
>>>>>> <https://groups.google.com/forum/#!forum/adwordsapi-announcements> to 
>>>>>> make sure that you are not missing any announcements about the API in 
>>>>>> the 
>>>>>> future. Please let me know if you have any further questions. 
>>>>>>
>>>>>> Thanks,
>>>>>> Sreelakshmi, AdWords API Team
>>>>>>
>>>>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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-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 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/a685a172-090b-4e8c-a437-997167922e50%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
  • ... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
    • ... Ronald Findling
      • ... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
        • ... Ronald Findling
          • ... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
          • ... Dorian Kind
          • ... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
          • ... Zweitze
          • ... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
          • ... Ronald Findling
          • ... Ronald Findling
          • ... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
          • ... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
          • ... Ronald Findling
          • ... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
          • ... Dorian Kind
          • ... 'Josh Radcliff (AdWords API Team)' via AdWords API and Google Ads API Forum
          • ... Ronald Findling
          • ... 'Josh Radcliff (AdWords API Team)' via AdWords API and Google Ads API Forum
          • ... Ronald Findling
          • ... 'AdWords API Advisor' via AdWords API and Google Ads API Forum

Reply via email to