Pygsheets .updated возвращает файл не найден

Я пытаюсь проверить дату последней модификации листа Google, используя pygsheets 1.1.4, google-api-python-client 1.6.7< /em> и Python 3.6.3 в Windows 10.

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

my_client = pygsheets.authorize(service_file=secret_service_acct_file)
my_worksheet = my_client.open_by_key(my_key)
last_updated = my_worksheet.updated

Вместо этого я получаю следующую ошибку:

Traceback (most recent call last):
  File "<pyshell#77>", line 1, in <module>
    my_worksheet.updated
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\pygsheets\spreadsheet.py", line 90, in updated
    response = self.client._execute_request(self.id, request, False)
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\pygsheets\client.py", line 459, in _execute_request
    response = request.execute()
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\googleapiclient\_helpers.py", line 130, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\googleapiclient\http.py", line 840, in execute
    raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 404 when requesting https://www.googleapis.com/drive/v3/files/{API_KEY}?fields=modifiedTime&supportsTeamDrives=false&alt=json returned "File not found: {API_KEY}.">

Для меня это означает, что файл не найден. Я ожидаю, что другие операции чтения/записи потерпят неудачу, если возникнут проблемы с авторизацией или соединением. Вместо этого я попытался открыть электронную таблицу с помощью open_by_url(), но получил те же результаты.

Я использую google-api-python-client v1.6.7 и pygsheets v1.1.4, недавно установленные с GitHub. Я пробовал работать в режиме «администратора» и запускать с no_cache=True в соответствии с предложениями в других pygsheets вопросы типа этого один, безрезультатно.

Я использовал gspread 0.6.2, пока не понял, что в конечном итоге мне понадобится поддержка "Общего диска". gspread 3.0.0 утверждает, что предлагает поддержку "Общего диска", но также устарел атрибут .updated, который мне нужен.

Как я могу получить последнюю версию modifiedTime с помощью pygsheets, или мне следует вообще использовать другую библиотеку?

редактировать: я заметил, что pygsheets использует v3 Sheets API для атрибута, который я пытаюсь вызвать, и другой ответ SO описывает удаление «ориентированных на файлы» параметров между API листов v3 и API листов v4, но руководство по миграции от Google, похоже, не содержит подсказок для моего варианта использования.


person Crowhill    schedule 16.05.2018    source источник
comment
Вы можете делать другие запросы? как my_worksheet.sheet1.update_value('A1',"test") ? Я не могу воспроизвести вашу ошибку.   -  person Nithin    schedule 17.05.2018
comment
Если ваш лист находится на общем диске, вам нужно включить teamdirve. По умолчанию он не включен.   -  person Nithin    schedule 17.05.2018
comment
Pygsheets использует API Sheets от Google. Вы можете попробовать, если файл действительно существует в электронных таблицах. values.update Попробуйте.   -  person noogui    schedule 17.05.2018
comment
@noogui Да, я могу делать обновления, используя образец Python для API листов v4 на этой странице, поэтому я считаю, что мой файл существует.   -  person Crowhill    schedule 17.05.2018
comment
Спасибо, @nithin, за то, что побудил меня перепроверить настройки командного диска. Кто-то из команды переместил файл на общие диски без моего ведома, и установка enableTeamDriveSupport=True решила мою проблему.   -  person Crowhill    schedule 17.05.2018