2013-06-07 1 views
7

У меня есть приложение GAE, которое периодически запрашивает действия пользователя с G +. Я использую google oauth client api for java.Тайм-ауты, обновляющие токен Google oauth в приложении GAE

Это работает отлично в течение нескольких месяцев, без каких-либо изменений кода (я отправлю код, если это необходимо, все это взято прямо из примеров проекта клиента 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 указана here, но ответа пока нет.

Это происходит непрерывно в течение нескольких дней - приложение пробует раз в час для сотен или около того разных пользователей. Если я ограничу приложение только выполнять это для одного пользователя, он все равно встречается.

+1

Дубликат http://stackoverflow.com/questions/16987683/deadlineexceedederrors-with-gae-google-api-refreshing-access-token –

+0

Просто для добавления у меня есть другое приложение, в котором используется API Google Prediction, который другой URL-адрес (https: //www.googleapis.com/prediction/v1.5/trainedmodels/...), и он запускается в ту же самую проблему с таймаутом. Таким образом, он пахнет чем-то инфраструктурным и довольно широким диапазоном. –

+0

Оба приложения начали нормально работать к этому утру. Я закрываю это сейчас, полагая, что Google ничего не говорит о том, почему приложения были недоступны в течение дня. –

ответ

2

Вот что я заметил: служба начала работать для меня два дня подряд примерно в 10:30 вечера, а затем перестала работать на следующий день примерно в 8 утра (как в субботу, так и в воскресенье в эти выходные: 8 июня -9 2013). На самом деле выглядит как проблема с высокой нагрузкой. Будем надеяться, что Google исправит это в ближайшее время.

Я не внесла никаких изменений в свой код на сервере приложений. Он только начал работать, а затем прекратил работать.

P.S. также похоже, что он занимает около 40 секунд, прежде чем сервер получает SocketTimeoutException каждый раз, когда я пытаюсь войти в Google plus.

P.P.S. и да, это работает на моем локальном экземпляре Google App Engine.

+0

выглядит так: здесь обсуждаются одна и та же проблема: https://code.google.com/p/google-glass-api/issues/detail?id=99 – ioanbsu

+0

ОК теперь это работает ... снова. надеюсь, он будет работать завтра ... – ioanbsu

0

Я думаю, что это может быть из-за этот вопрос:

Проблемы с Google App Engine URL Fetch сервиса Google Кредиторской аутентификации конечных точек были решены по состоянию на 5:15 PM США/Тихого океана в июне 7, 2013. Приносим извинения за неудобства и благодарит за ваше терпение и постоянную поддержку. Пожалуйста, будьте уверены, , что надежность системы является главным приоритетом в Google, и мы делаем непрерывные улучшения , чтобы улучшить наши системы.

https://groups.google.com/forum/?fromgroups#!topic/google-appengine-downtime-notify/TqKVL9TNq2A

+1

Да, но в отличие от того, что они говорят, это не исправлено! – koma

+0

У меня тоже была эта проблема! Кажется, они опубликовали обновление этого потока, чтобы сказать, что они «расследуют». – Wilson

1

Мы все еще испытывают те же проблемы: около 1 pm-2pm по Гринвичу каждый день oauth2 обновления маркера метод начинает сбиваться с тайм-аут ошибки, за 10-14 наш. По прошествии этого времени он снова работает.

Аналогичная проблема опубликована здесь: https://code.google.com/p/google-glass-api/issues/detail?id=99.

Lorenzo

Обновление: кажется, проблема была решена. https://groups.google.com/forum/?fromgroups#!topic/google-appengine-downtime-notify/TqKVL9TNq2A

+0

Открытая проблема: https://code.google.com/p/googleappengine/issues/detail?id=9475; все еще происходит, когда мы говорим (комментарий) – koma

0

Эта проблема с таймаутом происходит последовательно для двух экземпляров приложений приложений, работающих под моим приложением anyCloud и staging.anycloud.co). Я не могу получить токен доступа или обновить существующий и соответствовать другим плакатам, тот же код отлично работает при работе в среде localhost dev.

Смежные вопросы