I have a GAE application that periodically requests user actions from G +. I am using google oauth client api for java .
This works fine for several months with literally changing the code (I will publish the code if necessary, all taken directly from the oauth client project examples using GoogleAuthorizationCodeFlow).
However, a couple of days ago this changed. Now, out of turn from the GAE instance, I get this exception when updating the token:
java.net.SocketTimeoutException: Timeout while fetching URL: https://accounts.google.com/o/oauth2/token at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationException(URLFetchServiceImpl.java:141) at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:43) at com.google.api.client.extensions.appengine.http.UrlFetchRequest.execute(UrlFetchRequest.java:77) at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1009) at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:299) at com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:323) at com.google.api.client.auth.oauth2.Credential.executeRefreshToken(Credential.java:586) at com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:505) at com.google.api.client.auth.oauth2.Credential.intercept(Credential.java:266)
Now it still works fine on my local machine. There are no quota issues reported on the GAE toolbar or the Google APIS console for this application. Billing is enabled for the Google API console project, but not for the GAE application.
I note that a similar problem in a python application is presented here , but so far there are no answers.
This happens continuously for several days - the application tries once an hour for hundreds or so different users. If I restrict the application to only doing this for a single user, it happens anyway.
Nick cotter
source share