My application has a retry mechanism and I also retried manually.

Is it related to the OAuth outage? Has it happened before?

On Tuesday, April 19, 2016 at 11:23:26 PM UTC+2, Josh Radcliff (AdWords API 
Team) wrote:
>
> Hi,
>
> When this occurs, do you retry the request for the access token? If not, 
> please do so with an exponential backoff policy.
>
> Thanks,
> Josh, AdWords API Team
>
> On Tuesday, April 19, 2016 at 5:15:30 PM UTC-4, Biniam Asnake wrote:
>>
>> It happens intermittently. We have two apps that use the same refresh 
>> token and one app fails, I switch to the other one and sometimes it works.
>>
>> Please help ASAP since this issues might happen at night when no body is 
>> monitoring the system.
>>
>> Regards,
>>
>> On Tuesday, April 19, 2016 at 8:15:45 PM UTC+2, Josh Radcliff (AdWords 
>> API Team) wrote:
>>>
>>> Hi,
>>>
>>> Does this *always* fail, or are you sometimes able to get an access 
>>> token using the same exact set of credentials?
>>>
>>> Thanks,
>>> Josh, AdWords API Team
>>>
>>> On Tuesday, April 19, 2016 at 10:21:24 AM UTC-4, Biniam Asnake wrote:
>>>>
>>>> It happened again. Please help.
>>>>
>>>> Here is the stacktrace.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> com.google.api.ads.common.lib.exception.OAuthException: Credential 
>>>> could not be refreshed. A newly generated refresh token may be required
>>>> .
>>>>
>>>>         at com.google.api.ads.common.lib.auth.OfflineCredentials.
>>>> generateCredential(OfflineCredentials.java:141)
>>>>
>>>>         at com.bonial.megan.helpers.BatchProcessingServiceHelper.
>>>> connectToGoogleAdwords(BatchProcessingServiceHelper.groovy:99)
>>>>
>>>>         at com.bonial.megan.helpers.BatchProcessingServiceHelper.
>>>> initializeAdWordsSession(BatchProcessingServiceHelper.groovy:70)
>>>>
>>>>         at com.bonial.megan.services.BatchProcessingService.
>>>> createAndUploadBatchJobOperations(BatchProcessingService.groovy:50)
>>>>
>>>>         at com.bonial.megan.execution.actors.stateChange.mutate.
>>>> StateChangeMutateActor$_onReceiveBody_closure1.doCall(
>>>> StateChangeMutateActor.groovy:42)
>>>>
>>>>         at com.bonial.megan.execution.actors.stateChange.mutate.
>>>> StateChangeMutateActor.onReceiveBody(StateChangeMutateActor.groovy:41)
>>>>
>>>>         at com.bonial.megan.execution.actors.AbstractActor.onReceive(
>>>> AbstractActor.groovy:41)
>>>>
>>>>         at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(
>>>> UntypedActor.scala:167)
>>>>
>>>>         at akka.actor.Actor$class.aroundReceive(Actor.scala:465)
>>>>
>>>>         at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)
>>>>
>>>>         at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
>>>>
>>>>         at akka.actor.ActorCell.invoke_aroundBody0(ActorCell.scala:487)
>>>>
>>>>         at akka.actor.ActorCell$AjcClosure1.run(ActorCell.scala:1)
>>>>
>>>>         at org.aspectj.runtime.reflect.JoinPointImpl.proceed(
>>>> JoinPointImpl.java:149)
>>>>
>>>>         at akka.kamon.instrumentation.
>>>> ActorCellInstrumentation$$anonfun$aroundBehaviourInvoke$1.apply(
>>>> ActorCellInstrumentation.scala:62)
>>>>
>>>>         at kamon.trace.Tracer$.withContext(TracerModule.scala:57)
>>>>
>>>>         at akka.kamon.instrumentation.ActorCellInstrumentation.
>>>> aroundBehaviourInvoke(ActorCellInstrumentation.scala:61)
>>>>
>>>>         at akka.actor.ActorCell.invoke(ActorCell.scala:483)
>>>>
>>>>         at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:254)
>>>>
>>>>         at akka.dispatch.Mailbox.run(Mailbox.scala:221)
>>>>
>>>>         at akka.dispatch.Mailbox.exec(Mailbox.scala:231)
>>>>
>>>>         at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.
>>>> java:260)
>>>>
>>>>         at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(
>>>> ForkJoinPool.java:1339)
>>>>
>>>>         at scala.concurrent.forkjoin.ForkJoinPool.runWorker(
>>>> ForkJoinPool.java:1979)
>>>>
>>>>         at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(
>>>> ForkJoinWorkerThread.java:107)
>>>>
>>>>
>>>>
>>>> On Wednesday, March 16, 2016 at 5:35:23 PM UTC+1, Josh Radcliff 
>>>> (AdWords API Team) wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> Since this thread dates back to December 2014, it's likely that this 
>>>>> is a separate issue. Could you provide more details, such as the errors 
>>>>> you 
>>>>> are encountering when trying to get an access token from your refresh 
>>>>> token?
>>>>>
>>>>> Thanks,
>>>>> Josh, AdWords API Team
>>>>>
>>>>> On Wednesday, March 16, 2016 at 10:14:16 AM UTC-4, Biniam Asnake wrote:
>>>>>>
>>>>>> We are still getting this exception.
>>>>>>
>>>>>> Any solution?
>>>>>>
>>>>>> On Monday, December 1, 2014 at 11:41:58 PM UTC+1, Josh Radcliff 
>>>>>> (AdWords API Team) wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Some improvements were made within the last few days that should 
>>>>>>> have resolved this issue. Please let me know if you are still seeing 
>>>>>>> frequent failures on OAuth requests.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Josh, AdWords API Team
>>>>>>>
>>>>>>> On Monday, October 6, 2014 9:15:53 AM UTC-4, Josh Radcliff (AdWords 
>>>>>>> API Team) wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I've seen some other reports of increased OAuth request failures. 
>>>>>>>> I'm following up with the OAuth team and will post back here once I 
>>>>>>>> have 
>>>>>>>> more information.
>>>>>>>>
>>>>>>>> I recommend adding some retry logic around your OAuth requests, 
>>>>>>>> preferably with an exponential backoff on wait times. Others have had 
>>>>>>>> success using this approach.
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Josh, AdWords API Team
>>>>>>>>
>>>>>>>> On Thursday, October 2, 2014 6:23:45 AM UTC-4, Zweitze wrote:
>>>>>>>>>
>>>>>>>>> Hi
>>>>>>>>>
>>>>>>>>> Sometimes I get an error when I refresh an access token. See also 
>>>>>>>>> *this 
>>>>>>>>> issue <https://github.com/googleads/googleads-dotnet-lib/issues/23>* 
>>>>>>>>> in the .NET client library.
>>>>>>>>> The library maintainer comments "I don't expect to see this kind 
>>>>>>>>> of exceptions on a regular basis". So Murphy's law kicks in and more 
>>>>>>>>> exceptions occur:
>>>>>>>>>
>>>>>>>>> Sep 5, 17.00h (original one)
>>>>>>>>> Sep 29, 10.42h
>>>>>>>>> Sep 29, 13.21h
>>>>>>>>> Oct 2, 10.33h
>>>>>>>>>
>>>>>>>>> All times are in CEST. I don't have more information because the 
>>>>>>>>> .NET library destroyed that information.
>>>>>>>>> Anyway, I decided to retry *every* kind of failure when an access 
>>>>>>>>> token couldn't be refreshed. But what is a good retry interval?
>>>>>>>>>
>>>>>>>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/77adbefa-439c-4bda-8565-36b0452f6a3e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
  • Re: Retry-interva... Biniam Asnake
    • Re: Retry-in... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
      • Re: Retr... Biniam Asnake
        • Re: ... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
          • ... Biniam Asnake
            • ... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
              • ... Biniam Asnake
                • ... 'Josh Radcliff (AdWords API Team)' via AdWords API Forum
                • ... Biniam Asnake
        • Re: ... Dorian Kind

Reply via email to