Сообщество RSS DEV

Запись в Google Таблицы из локального скрипта через gcloud CLI аутентификацию

Автору необходимо было извлечь данные из GitHub API и опубликовать их в Google Sheets, чтобы поделиться диаграммами о нагрузке по код-ревью. Он написал скрипт на Node.js для выполнения этой задачи, сначала генерируя ad hoc CSV-данные, которые вручную копировались в Google Sheets. Чтобы автоматизировать процесс, автор использовал Google Sheets API, что требовало аутентификации. Автор обнаружил, что аутентификация была самой сложной частью процесса, на которую ушло примерно четыре часа. Он нашел, что настройка application default credentials с помощью gcloud CLI может работать как OAuth-прокси для кода Google Workspace, расширяя аутентификацию, чтобы включать дополнительные разрешения. Чтобы настроить аутентификацию, автор включил Sheets API в свой Cloud-проект и настроил application default credentials с помощью gcloud CLI, требуя нестандартных OAuth-диапазонов. Это вызвало OAuth-поток, который предоставил токену чтения/записи доступ к всем данным Google Sheets. Затем автор инициализировал клиент Node для Google Sheets с помощью библиотеки googleapis и создал функцию для добавления данных в лист. Он внес изменения в пример кода из документов, чтобы облегчить повторное использование клиента и параметризовать запрос. Код автора добавляет данные в лист с помощью инициализации клиента и обрабатывает ошибки, регистрируя их в консоли. Он использует метод "append", чтобы добавлять новые строки, не удаляя предыдущие, поскольку его скрипт собирает месячные метрики. Автор предоставляет пример того, как вызвать функцию appendDataToSheet, и отмечает, что в Google Sheets API есть хорошие советы, такие как не отправлять более одного запроса API в секунду на лист. Он также упоминает, что может перейти на использование Cloud Scheduler и Cloud Run Jobs, если он будет производить скрипт.
favicon
dev.to
Write to Google Sheets from a local script via gcloud CLI authentication