Как заполнять гугл таблицы через python по api
Заполняю гугл таблицы по api, должно быть четыре колонки,данные изменяются во время работы скрипта,как сделать так что бы таблица заполнялась автоматически?
CREDENTIALS_FILE='creds.json'
spreadsheet_id='id'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
CREDENTIALS_FILE,
['https://www.googleapis.com/auth/spreadsheets',
'https://www.googleapis.com/auth/drive'])
httpAuth = credentials.authorize(httplib2.Http())
service = apiclient.discovery.build('sheets', 'v4', http = httpAuth)
values=service.spreadsheets().values().batchUpdate(
spreadsheet_id=spreadsheet_id,
body={
"valueInputOption":"USER_ENTERED",
"data":[
{"range":
]
}
)
Ответы (1 шт):
Автор решения: D. Violet
→ Ссылка
можно воспользоваться библиотекой
from oauth2client.service_account import ServiceAccountCredentials
# Google
gscope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
gcredentials = 'ваш файл полученный по инструкции.json'
gdocument = 'название таблицы'
чтобы скрипт мог записывать в Таблицу:
Настройка интеграции с Google Drive, Google Spreadsheet
1. https://console.developers.google.com/
2. Библиотека – Создать проект
3. Поиск в библиотеке API:
a. Google Drive – Включить
b. Создать учётные данные
c. Какой API вы используете – Google Drive API
d. Откуда вы будете вызывать API – Веб-Сервер
e. К каким данным вы будете обращаться – Данные приложения
f. Используете этот API для App Engine или Compute Engine – Нет
g. Выбрать тип учётных данных
h. Роль – Проект – Редактор
i. Тип ключа – JSON
j. Продолжить (загрузка ключа в формате JSON)
4. Открыть полученный файл JSON
5. Скопировать значение поля "client_email"
6. https://docs.google.com/spreadsheets/
7. Создать новую таблицу
8. Настройки доступа
9. Ввести значение из п.5 и предоставить доступ на редактирование
Запись в Гугл Таблицу: дата, колонка1, колонка2, колонка3, колонка4
# Запись в Google Sheet
def add_to_gsheet(message, data, text):
credentials = ServiceAccountCredentials.from_json_keyfile_name(gcredentials, gscope)
gc = gspread.authorize(credentials)
wks = gc.open(gdocument).sheet1
wks.append_row(
[datetime.now().strftime('%d.%m.%Y %H:%M:%S'), 'колонка1', 'колонка2', 'колонка3', 'колонка4'])
вызываем например так:
add_to_gsheet(message, 'отмена проведения ' + number_check, 'чек')
таким образом в Таблицу будет записано следующее
08.06.2020 20:40:50 колонка1 колонка2 колонка3 колонка4