Возможно ли получить дату изменения google таблицы не используя API google?
Возможно ли получить дату изменения таблицы google используя только библиотеку requests? Т.е получить информацию о файле из URL parameters?
Например, по такому же принципу, как я экспортирую файл в .csv:
with open('Example.csv', 'w') as f:
docUrl = 'https://docs.google.com/spreadsheets/d/1nDLXuQ7YyRbpz9owL_sLeQ/export?format=csv'
docContent = requests.get(docUrl)
f.write(docContent.content.decode('utf-8'))
Ответы (2 шт):
Одно из решений что пришло на ум. Я думаю что это лучше, чем через какое-то время грузить снова всю таблицу целиком.
Можно следить за ее обновлением так:
В гугл таблицах есть функция =ТДАТА() , которая возвращает дату последнего изменения в таблице. Но, как я понял экспортировать отдельно содержимое ячейки нельзя, используя заголовок типа:export?range=А1:A2, экспортируется вся таблица. Это доступно только для view? Также нельзя экспортировать лист отдельно export?gid=0
Нужно создать отдельную таблицу и следить за обновлением других используя функцию =IMPORTRANGE() для того, чтобы импортировать значения даты изменения из других таблиц.
Например, эта таблица: https://docs.google.com/spreadsheets/d/1dZcKffBFGDY7Mp5aBzq_Bgt1DP4fUcrVVf7b-YvRGDo/edit#gid=0
Соответственно с помощью requests.get(URL) можно следить только за этими значениями. И при необходимости обновлять файл основной таблицы.
'''
import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://www.googleapis.com/auth/spreadsheets',
'https://www.googleapis.com/auth/drive',
'https://www.googleapis.com/auth/script.projects']
credentials = ServiceAccountCredentials.from_json_keyfile_name('libs/credentials/credentials.json', scope)
client = gspread.authorize(credentials)
work_table = client.open('WorkList')
print(work_table.lastUpdateTime)
'''