META

Google Sheets

Мотивация

Иногда пользователи хотят управлять отчетами через интеграцию с Google Sheets

Документация по query language: https://developers.google.com/chart/interactive/docs/querylanguage#language-clauses

Административные настройки сервера

Для того, чтобы это заработало в основном конфигурационном файле меты должен быть заполнен блок googleShareAccount, где нужно вписать google service account настройки из формата json в формате yaml. После указания ваши пользователи смогут расшаривать файлы на ваш сервисный аккаунт и мета будет получать к ним доступ.

например у нас это аккаунт - [email protected]

Что нужно сделать

Вы должны использовать БД “gsheet”. В ShardKey укажите id документа, через решетку имя листа, если имя листа не указано, то скорее всго будет взят первый созданный лист gid=0. Будте аккуратны, так как МЕТА не гарантирует, что google не изменит api и не станет отдавать другой лист по умолчанию.

Не забудьте, что пользователь должен либо сделать документ публичным, либо расшарить его на ваш сервисный аккаунт.

Ограничения

${pager}, ${sort} и комментирование строк как в БД не работают в скриптах google sheet

Частые проблемы

Дата в мете выводится неверно

Примените формат даты в google sheet к нужной колонке

В мете пустота вместо числа из ячейки или число нет то, хотя в google sheet все ок

Примените форма числа к нужным ячейкам и замените точки на запятые, если у у вас ru локаль

Пример

Получение всего контента листа с названием “Мой лист”

<script id="res" type="meta/sql" db-alias="gsheet" shard-key="1Wn2mET2s5hkhMvEJHXAXJu20wahJFgf11HxXYfBos8c#Мой лист">
select *
</script>