我有一个 GAE 应用程序,它会定期向 G+ 请求用户的活动。我正在使用google oauth client api for java。
这几个月来一直运行良好,几乎没有代码更改(如果需要,我将发布代码,这一切都直接取自 oauth 客户端项目示例,使用 GoogleAuthorizationCodeFlow)。
然而,几天前这种情况发生了变化。现在,在 GAE 实例中,我在令牌刷新期间得到了这个异常:
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)
现在这在我的本地机器上仍然可以正常工作。GAE 仪表板或此应用的 Google APIS 控制台上没有报告配额问题。Google API 控制台项目启用了计费,但 GAE 应用程序未启用。
我注意到在此处报告的 python 应用程序中有一个类似的问题,但到目前为止还没有回应。
这种情况已经持续了几天——该应用程序每小时为一百左右不同的用户尝试一次。如果我将应用程序限制为仅对单个用户执行此操作,它仍然会发生。