У нас есть приложение для отслеживания продаж. В этом приложении мы собираем все аналитические данные с 5 разных аналитических аккаунтов (веб-сайтов) и создаем отчеты. Он работал до сегодняшнего утра. Теперь он показывает некоторые ошибки, такие как 500 Backend Error
:
PHP Fatal error: Uncaught Google_Service_Exception: {"error":{"errors":[{"domain":"global","reason":"backendError","message":"Backend Error"}],"code":500,"message":"Backend Error"}}
@KenY-N, как ты можешь узнать, что это дубликат, не видя кода? Это и это неправильный API
@bachov, пожалуйста, отредактируйте свой вопрос и опубликуйте свой код.
Это обоснованное предположение; занятые серверы являются занятыми серверами независимо от API, поэтому некоторая отсрочка, как описано в связанном посте, будет уместна.
Вы дублируете все еще неправильный API, если у вас есть дубликат с Google Analytics API, вы должны использовать его.
@DaImTo Я вижу вас предложил аналогичный ответ ранее - однако я не могу изменить свой голос, но ваш ответ включает такое же экспоненциальное отставание.
Да, но это другое сообщение об ошибке.
500 ошибок — это все ошибки, которые обычно означают, что на стороне сервера есть что-то, что является проблемой. Если вы проверите документация, вы увидите комментарий выше. Google говорит, что они не хотят, чтобы вы повторяли эту ошибку. Однако, если вы прокрутите документацию еще немного вниз, вы найдете этот раздел.
Однако мы находим и следующее.
Однако с обоими ничего нет "code":500,"message":"Backend Error"
Существует ряд сообщений об ошибках, при которых отсрочка будет работать.
С примером Python, который включает
Это связано с тем, что API-интерфейс Google Analytics немного отличается от других API-интерфейсов Google, способ, которым он возвращает ошибки, отличается и в большинстве случаев лучше. Причина этого в том, что ошибка бэкэнда может быть вызвана защитой от флуда. Не часто, но это может произойти в основном около часа. Вы никогда не должны запускать большой скрипт в час, потому что тогда вы конкурируете со всеми, у кого есть задания cron, настроенные на извлечение данных каждый час.
Обычно я использую отсрочку только для ошибок 'userRateLimitExceeded', 'quotaExceeded', 'internalServerError'
, а не для ошибок 'backendError'
, но Google указывает это в своей документации, так что, возможно, стоит попробовать.
Тем временем я собираюсь отправить электронное письмо команде, чтобы получить некоторые разъяснения по документации.
Что касается приведенного выше сообщения, я видел его несколько раз, и оно часто связано с проблемой в конце Google. Откажитесь от попытки, пока я жду ответа от команды.
Несоответствие документации будет устранено. ошибка в основном связана с сервером, который был недоступен для выполнения запроса.
Возможный дубликат «500 Backend Error» при использовании Gmail API — можно ли повторить попытку?