Как создать макет, Google Таблицу и конфигурацию с нуля: пошаговая инструкция
> Медиадисплей > Интеграции > Интеграция с GoogleДата обновления: 20 октября 2026 г. Дата публикации: 5 июня 2026 г. Автор: Жапов Ананда
В этом руководстве мы с нуля разберем, как создать макет, подготовить для него данные в Google Таблицах, настроить конфигурационный файл и отправить контент на экран, используя нашу утилиту. Материал ориентирован на практическое применение и поможет вам быстро освоить процесс, независимо от типа контента: текст, таблицы, изображения, видео или диаграммы.
Создание макета (экрана)
Макет — это шаблон вашего цифрового экрана. Он определяет, где и как будет располагаться информация: текст, таблицы, изображения, видео, диаграммы.
Как создать макет
- Зайдите на сервер Медиадисплей
- Перейдите в раздел «Макеты» и нажмите кнопку «+ Создать макет»

-
Задайте имя макета (например, назвал
Test). Это имя понадобится нам на этапе настройки конфигурации для [SwitchCover]. -
На пустом макете размещайте элементы. Для этого:
-
В правой панели нажмите кнопку «Редактировать»

-
Внизу нажмите и выберите тип данных в зависимости от того, что вы хотите отобразить:


-
-
При добавлении виджета откроется окно, где необходимо ввести:
- Название (Name): Это внутренний идентификатор элемента. Запомните его: он потребуется позже для
nameв конфигурационном файле. Например, назвалБлок1. - Содержимое (Text) (опционально): Можно сразу ввести статический данные.

- Название (Name): Это внутренний идентификатор элемента. Запомните его: он потребуется позже для
-
После размещения всех компонентов Обязательно нажмите кнопку «Сохранить» в правой панели, потом нажмите «Опубликовать», чтобы изменения вступили в силу.
Важно: Имя каждого компонента (
Name) является связующим звеном между вашим макетом и конфигурационным файлом. Именно по этому имени утилита будет понимать, в какой элемент экрана подставлять данные.
Подготовка источника данных: Google Таблицы
Теперь, когда макет готов, создадим таблицу, из которой утилита будет брать контент.
Структура таблицы
Ваша таблица может содержать несколько листов (например, «Данные», «Изображения», «Меню»). Вот как может выглядеть пример листа для простого макета:

Совет: Используйте первую строку для понятных заголовков. Это облегчит вам жизнь при дальнейшей настройке.
Получение SpreadsheetId
Идентификатор таблицы (SpreadsheetId) необходим для указания в конфигурационном файле. Чтобы его получить, откройте таблицу в браузере и скопируйте часть URL-адреса:
https://docs.google.com/spreadsheets/d/ **Это_ваш_ID** /edit
Настройка доступа
- Получите файл
credentials.jsonдля доступа к Google Sheets API. Инструкция по его получению приведена в этой документации. - В файле
credentials.jsonнайдите email сервисного аккаунта (например,nameserviceaccount@nameproject-498308.iam.gserviceaccount.com). - В вашей Google Таблице нажмите «Настройки доступа» в правом верхнем углу и добавьте этот email с правами «Читатель».
Создание и настройка конфигурационного файла (INI)
Конфигурационный файл — это «дирижер», который говорит утилите, откуда брать данные и куда их помещать в макете. Создайте файл с расширением .ini (например, МойПервыйЭкран.ini) в папке Configs и откройте его в любом текстовом редакторе.
Обязательная секция [Default]
Эта секция содержит основные настройки подключения.
[Default]
; ID вашей Google-таблицы
SpreadsheetId=1ABC123_Zyxwv_YourSpreadsheetId
; Имя приемника (например d1)
ReceiverId=d1
; Путь к файлу учетных данных Google
CredentialsPath=credentials.json
; URL сервера Медиадисплей
ApiUrl=http://127.0.0.1:5206
; Опционально: Имя файла для сохранения JSON (полезно для отладки)
OutputFileName=debug.json
Опциональная секция [SwitchCover]
Эта секция отвечает за переключение самого макета на экране. Без нее контент отправится на текущий активный макет.
[SwitchCover]
; Имя макета, которое вы задали при его создании.
Cover=test
Секции контента: связываем таблицу и макет
Теперь самое главное: для каждого виджета на вашем макете мы создаем отдельную секцию. Имя секции может быть любым (например, [Блок1], [Таблица]), но для ясности лучше использовать смысловые названия.
Текст
Возьмем текст из ячейки A1 листа Лист1 и отправим его в блок с именем Блок1 на макете.
[Заголовок]
enable=true
type=text
name=Блок1 ; Имя компонента на макете
source=Лист1!A1 ; Адрес ячейки в Google Таблице
Timer=30 ; Обновлять каждые 30 секунд (для службы)
Таблица
Теперь отправим данные из диапазона B4:E8 (название, описание, старая цена, цена) в виджет-таблицу с именем Меню.
[Таблица]
enable=true
type=table
name=Таблица ; Имя компонента на макете
ListRange=Лист1!A2:B8 ; Диапазон данных в таблице
Timer=10
Изображение
Возьмем URL картинки из ячейки D3 и отправим в медиа Изображение.
[Картинка]
enable=true
type=image
name=Изображение ; Имя компонента на макете
source=Лист1!D3 ; Ячейка с ссылкой на изображение
Timer=60
Важно: Чтобы картинка работала, в ячейке
D3должна быть ссылка на файл изображения.
Диаграмма
Для создания диаграммы укажите диапазон данных, например, Лист1!A11:B23.
[ГрафикПродаж]
enable=true
type=chart
charttype=bar ; Тип диаграммы: bar, line, pie и др.
name=Диаграмма
ListRange=Лист1!A11:B23
Timer=30
Видео
Видео настраивается аналогично изображению.
[Видео]
enable=true
type=video
name=Видео
source=Лист1!D5
Timer=60
Плейлист
Тип playlist позволяет переключать существующий на сервере Медиадисплей плейлист (слайд). Утилита берёт имя плейлиста из указанной ячейки Google Таблицы и отправляет его в медиа-компонент с заданным именем.
[Плейлист]
enable=true
type=playlist
name=Плейлист ; Имя компонента на макете
source=Лист1!D7 ; Ячейка, где указано имя плейлиста (например, "Бурятия")
Timer=60
Важно:
- В ячейкеD7(или другой, указанной вsource) должно быть точное имя плейлиста, которое существует на сервере Медиадисплей.
- Имя компонентаnameна макете обычно задаётся какSetMedia— так сервер поймёт, что это переключатель плейлиста.
- Если имя плейлиста указано прямо в конфиге (статически), можно использоватьvalue=burger2вместоsource=.
Запуск и проверка
Для разовой проверки:
- Сохраните ваш INI-файл в папку
Configsрядом с утилитой. - Запустите утилиту, передав ей ваш конфиг:
MD4_GoogleConnector.exe config=Configs/МойПервыйЭкран.ini.
Для фоновой автоматической работы:
- Запустите
install_eventlog.batот имени администратора (один раз). - Запустите
ServiceInstall.batот администратора, выберите ваш конфиг из списка и установите службу. - В
services.mscнайдите службу «RBSOFT:Служба обновления медиа-контента» и запустите ее.
Где смотреть логи?
- Если запускали вручную через утилиту, информация выводится в папке Log.
- Если работает служба, используйте Просмотр событий (eventvwr.msc) -> Журналы приложений и служб -> MediaDisplayContentService.
Коды ошибок
| Код | Описание | Возможные причины |
|---|---|---|
| 0 | Success | Успешное выполнение. |
| 1 | ConfigurationError | Ошибка в конфигурационном INI-файле. |
| 2 | FileNotFound | Отсутствует credentials.json или неверный путь к INI-файлу. |
| 3 | GoogleApiError | Проблемы с Google Sheets API. |
| 4 | InvalidDataFormat | Неверный формат данных в JSON. |
| 5 | NetworkError | Нет связи с сервером Медиадисплей. |
| 6 | ExternalSourceError | Ошибка загрузки внешнего JSON-источника (DataUrl). Проверьте доступность URL, корректность формата JSON и сетевое подключение. |
Результат на экране


Реальный макет, где данные изменились и отображаются текст, плейлист, таблица, фото, видео, диаграммы.
Заключение
Вы создали свой первый динамический экран! Мы прошли все основные шаги: от проектирования макета и подготовки данных в Google Таблицах до написания конфигурационного файла и запуска обновления. Эта схема универсальна и подходит для любых задач: от меню в кафе до информационных дашборд.