Как стать автором
Обновить

Комментарии 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.

Дык и у меня официальный SDK!

Мммм, а ссыль и хедер для кредсов тогда к чему? Оф сдк это все за нас само делает.

Дык ваш Service Account - это и есть мой apiKey, как я понимаю, а результат я в том же JSON-е получаю.

Не понял - в чём у меня отсебятина и в чём неудобство... 🤔

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации