Получение ошибки 401 (несанкционированный доступ) через 1 час при доступе к электронной таблице Google

Я пытаюсь использовать gdata.spreadsheets.client и OAuth2TokenFromCredentials для обработки электронной таблицы Google.
Через 1 час я получаю сообщение об ошибке 401 (несанкционированное) из-за истечения срока действия токена доступа, автоматически обновляя токен доступа, хотя он меняет новый токен доступа процесс часто получает ошибку HTTP 401 (несанкционированный доступ).

После достижения одной и той же ошибки 10 раз процесс завершается, поэтому файл не обрабатывается полностью.

Пример кода, в котором мы получаем ошибку 401:

def write_row(self, row, data_row):
    # Attempt to write new row and skip if writing row causes error.
    try:
        gdoc_util.update_row_retryable(self.spr_client, row, data_row, force=True)
    except Exception as e:
        logging.exception(e)
        self.writing_error_count += 1
        if self.writing_error_count > self.MAX_ERROR_COUNT:
            print 'Max error limit reached, ending scraper...'
            quit()

Я запускаю этот процесс с многопроцессорностью.

Почему с новыми токенами доступа не работает как раньше, а часто выдает ошибку 401 (неавторизованный)?

Та же ошибка, что и здесь: Resumable API Python для Google Диска ошибка загрузки 401 через 2 часа


person Maruthi Rudra    schedule 04.02.2016    source источник
comment
Я предполагаю, что сам запрос на обработку не занимает больше часа? Если это делается небольшими партиями, у меня есть обходной путь, который я нашел полезным. Но вы все равно будете неавторизованы на долю секунды каждый час.   -  person roganjosh    schedule 04.02.2016
comment
Привет, 1 час ровно для истечения срока действия токена доступа. Вы поместили токен обновления в свои учетные данные? Если да, ouath2client автоматически получит новый токен доступа, и тогда ничего не сломается.   -  person DevLounge    schedule 14.03.2016