HttpError 500 и 503 API Google Таблиц

Изменить: решено, проблема была на стороне Google. Возникает при запросе листа, содержащего диаграммы с недопустимыми интервалами. Сообщил об ошибке в Google.

Примечание. Эта проблема сохраняется более 2 дней. У меня это было раньше, но оно было автоматически разрешено после ожидания дня. С тех пор он возродился.

В настоящее время я использую API Google Таблиц через клиент Google API Python. Аутентификация — OAuth2.0, и я не менял ничего существенного в своей кодовой базе, но внезапно я получаю 100% коэффициент ошибок, и кажется, что это должно быть на стороне Google. Я боюсь, что мне запретят использовать API на неопределенный срок, так ли это? Я предполагаю, что когда я запустил скрипт и сразу же отменил его с помощью Ctrl + C, потому что я хотел запустить его новую версию, это вызвало некоторые проблемы.

Я попытался создать другой проект и использовать его учетные данные для выполнения запроса и получил ту же ошибку. Попробовал, чтобы мой друг запустил сценарий аутентификации через свою учетную запись Google, и он получил ту же ошибку. Независимый исходный код можно найти здесь

Об исходном коде: get_credentials() (и, следовательно, аутентификация) полностью скопированы из сценария быстрого запуска Google на Python, как показано здесь https://developers.google.com/sheets/quickstart/python.

Трассировки:

Traceback (most recent call last):
  File "Google_sheets.py", line 164, in <module>
    ss=Spreadsheet(SPREADSHEET_ID)
  File "Google_sheets.py", line 83, in __init__
    spreadsheetId=self.ssId, includeGridData=True).execute()['sheets']}
  File "C:\Users\Larsson\AppData\Local\Programs\Python\Python35-32\lib\site-packages\oauth2client\util.py", line 137, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "C:\Users\Larsson\AppData\Local\Programs\Python\Python35-32\lib\site-packages\googleapiclient\http.py", line 838, in execute
    raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 500 when requesting https://sheets.googleapis.com/v4/spreadsheets/12YdppOoZUNZxhXvcY_cRgfXEfRnR_izlBsF8Sin3rw4?alt=json&includeGridData=true returned "Internal error encountered.">

После повторной попытки вскоре после этого я получаю еще одну ошибку:

Traceback (most recent call last):
  File "Google_sheets.py", line 164, in <module>
    ss=Spreadsheet(SPREADSHEET_ID)
  File "Google_sheets.py", line 83, in __init__
    spreadsheetId=self.ssId, includeGridData=True).execute()['sheets']}
  File "C:\Users\Larsson\AppData\Local\Programs\Python\Python35-32\lib\site-packages\oauth2client\util.py", line 137, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "C:\Users\Larsson\AppData\Local\Programs\Python\Python35-32\lib\site-packages\googleapiclient\http.py", line 838, in execute
    raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 503 when requesting https://sheets.googleapis.com/v4/spreadsheets/12YdppOoZUNZxhXvcY_cRgfXEfRnR_izlBsF8Sin3rw4?includeGridData=true&alt=json returned "The service is currently unavailable.">

person Acksell    schedule 15.10.2016    source источник
comment
отключение итераций в листах Google сработало для меня.   -  person jason    schedule 16.03.2019
comment
stackoverflow.com/questions/12471180/   -  person Boris    schedule 20.12.2019


Ответы (4)


Решено, проблема была на стороне Google. Происходит при запросе листа, содержащего диаграммы с недопустимыми/не выбранными интервалами. Сообщил об ошибке в Google.

Исправьте, изменив все недопустимые диаграммы на допустимые диапазоны.

person Acksell    schedule 18.10.2016

Я тоже получил эту ошибку, и после некоторого возни я обнаружил, что это что-то с проверкой данных в раскрывающихся списках на моем. Повторно отредактируйте свою проверку, выберите ту же ячейку и повторно сохраните, промойте и повторите для всех таких полей, и это должно сработать.

PS: Учитывая, что это, по-видимому, влияет на другие типы данных, я бы рекомендовал удалять части вашего документа до тех пор, пока он не начнет работать на стороне скрипта, чтобы ваше последнее действие указывало, какие ячейки являются проблемными.

person Srdjan Grubor    schedule 17.03.2017
comment
Была такая же проблема. Google APIv4 не читает лист и выдает мне: alt=json returned "Internal error encountered."... это была проверка. Пришлось все выделить, все удалить. Затем Ctrl-Z. и это сработало. - person jason; 04.12.2018

500 и 503 — это проблемы с сервером Google. Вам нужно будет реализовать экспоненциальную отсрочку, чтобы вы могли повторить транзакцию еще раз. Перейдите по этой ссылке — https://developers.google.com/admin-sdk/directory/v1/limits

Кроме того, для всех API существует ограничение на использование. Перейдите по этой ссылке: https://developers.google.com/gmail/api/v1/reference/quota

person Sayali    schedule 16.10.2016

Как описано в разделе Стандартные ответы на ошибки, коды ошибок – 500. и #503 — ошибки, связанные с серверами. Рекомендуемое действие для этого — не повторять запрос более одного раза.

Чтобы обработать эти коды ошибок:

Ошибка 500 или 503 может возникнуть при большой нагрузке или при больших и сложных запросах. Для более крупных запросов рассмотрите возможность запроса данных за более короткий период времени. Также рассмотрите внедрение экспоненциальной отсрочки .

Экспоненциальная отсрочка может быть хорошей стратегией для обработки этих ошибок, если большой объем запросов или большой сетевой трафик приводят к тому, что сервер возвращает ошибки.

Кроме того, вам также следует проверить, не превышает ли ваше приложение ограничения на использование. Если это так, возможно, код вашего приложения следует оптимизировать, чтобы делать меньше запросов. При необходимости вы можете запросить дополнительную квоту в консоли API Google на вкладке «Квоты» проекта.

person Teyam    schedule 16.10.2016