Обновление Pygsheets. «Файл не найден» - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь проверить дату последней модификации листа Google, используя pygsheets 1.1.4 , google-api-python-client 1.6 .7 и 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, как указано в других вопросах, таких как этот , но безрезультатно.

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

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

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

...