Comments 11
Зачем все это когда есть библиотека gspread ?
Странный вопрос. Зачем gspread если есть официальный google-api-python-client . И, если уж на то пошло, то почему gspread, а не pygsheets. Но за себя отвечу:
я предпочитаю обходиться минимум зависимостей - просто проще поддерживать
бывает у меня в проекте используется сразу несколько API Google (YouTube Data API, YouTube Analitycs API, Google Sheets API, Drive API), мне теперь под каждый апи тащить свой враппер?
доки в API Google написаны под использование google-api-python-client - не нужно искать как в конкретном пакете автор придумал переделать структуры данных
Ну и вообще, мне не понятно на кой на каждый чих тащить свой пакет.
Вопрос ради интереса, а форматированием ячеек можно управлять при использовании google-api-python-client + batchUpdate?
Да. Только batchUpdate
не к values
а к spreadsheets
. Запрос простой, но структура данных для форматирования уж больно громоздкая. Особенно для выбора диапазона ячеек форматирования. Я делал эксперименты здесь.
Прощу прощения, чем плох для чтения Google Sheet запрос типа
https://sheets.googleapis.com/v4/spreadsheets/${spreadsheetId_in}/values/${sheetName_in}?key=${apiKey_in}
где spreadsheetId_in - ID таблицы, sheetName_in - название листа, apiKey_in - Google-овский ключ разработчика?
Сервисный Аккаунт удобнее, например, тем что вы можете выдать доступ к таблице в интерфейсе Google Sheets и отозвать его в любой момент не трогая приложение. А вообще плюсов хватает https://cloud.google.com/iam/docs/service-account-overview .
Думаю, что мой вариант и для сервисного аккаунта подойдёт - можно через header запроса, насколько я понимаю, передать credentials. Надо будет проверить...
Вполне возможно. И тогда у вас получится ещё одна обертка над googleapis.com ;) Мне лень велосипедить, поэтому я пользуюсь оф SDK.
Google Sheets API + Python. Чтение и запись с Сервисным Аккаунтом Google Cloud