我有一个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应用。
我注意到在报告here的python应用程序中存在类似的问题,但到目前为止还没有回复。
这种情况持续发生了几天 - 该应用程序每小时尝试一次大约一百个不同的用户。如果我将应用程序限制为仅针对单个用户执行此操作,则它仍会发生。
答案 0 :(得分:2)
这是我注意到的: 该服务在晚上10:30左右开始为我工作两天,然后在第二天早上8点左右再次停止工作(本周末的周六和周日:2013年6月8日至9日)。真的看起来像高负荷问题。 希望Google尽快修复它。
我在app引擎服务器上的代码绝对没有变化。它刚刚开始工作,然后停止工作。
P.S。此外,每当我尝试使用Google plus登录时,服务器获取SocketTimeoutException之前总是需要大约40秒。
P.P.S。是的,它适用于我的本地Google App Engine实例。
答案 1 :(得分:1)
我们仍然遇到同样的问题:在每天格林尼治标准时间下午1点到2点左右,OAuth2刷新令牌方法开始失败并出现超时错误,对于我们的10-14。在那之后它再次起作用。
此处发布了类似问题:https://code.google.com/p/google-glass-api/issues/detail?id=99。
洛伦佐
更新:问题似乎已经解决了。 见https://groups.google.com/forum/?fromgroups#!topic/google-appengine-downtime-notify/TqKVL9TNq2A
答案 2 :(得分:0)
我认为这可能是由于这个问题:
Google App Engine网址获取服务的问题 帐户身份验证终结点已于下午5:15解决 美国/太平洋地区于2013年6月7日。对于给您带来的不便,我们深表歉意 感谢您的耐心和持续的支持。请放心吧 系统可靠性是Google的首要任务,我们正在制作 不断改进,使我们的系统更好。
https://groups.google.com/forum/?fromgroups#!topic/google-appengine-downtime-notify/TqKVL9TNq2A
答案 3 :(得分:0)
在运行我的应用anyCloud和staging.anycloud.co的两个应用引擎实例上,此超时问题一直发生。我无法获取访问令牌或刷新现有令牌并与其他海报一致,在localhost开发环境中运行时,相同的代码工作正常。