Как создать макет, Google Таблицу и конфигурацию с нуля: пошаговая инструкция
> Медиадисплей > Интеграции > Интеграция с GoogleДата обновления: 12 июня 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
Секции контента: связываем таблицу и макет
Теперь самое главное: для каждого виджета на вашем макете мы создаем отдельную секцию. Имя секции может быть любым (например, [Заголовок], [ТаблицаМеню]), но для ясности лучше использовать смысловые названия.
Текст
Возьмем текст из ячейки B1 листа Лист1 и отправим его в виджет с именем Заголовок на макете.
[Заголовок]
enable=true
type=text
name=Блок1 ; Имя компонента на макете
source=Лист1!A1 ; Адрес ячейки в Google Таблице
Timer=30 ; Обновлять каждые 30 секунд (для службы)
Таблица
Теперь отправим данные из диапазона B4:E8 (название, описание, старая цена, цена) в виджет-таблицу с именем Меню.
[ТаблицаМеню]
enable=true
type=table
name=Таблица1 ; Имя компонента на макете
ListRange=Лист1!A3:B8 ; Диапазон данных в таблице
columns=col1,col2 ; Имена колонок в макете (по порядку)
Timer=10
Изображение
Возьмем URL картинки из ячейки F5 и отправим в виджет Фон_меню.
[Картинка]
enable=true
type=image
name=Картинка1 ; Имя компонента на макете
source=Лист1!D3 ; Ячейка с ссылкой на изображение
Timer=60
Важно: Чтобы картинка работала, в ячейке
F5должна быть ссылка на файл изображения.
Диаграмма
Для создания диаграммы укажите диапазон данных, например, Лист1!A2:B13.
[ГрафикПродаж]
enable=true
type=chart
charttype=bar ; Тип диаграммы: bar, line, pie и др.
name=Диаграмма
ListRange=Лист1!A11:B23
Timer=30
Видео
Видео настраивается аналогично изображению. В виджет приходит HTML-код, который можно вставить напрямую.
[Видео]
enable=true
type=video
name=Видео1
source=Лист1!D5
Timer=60
Запуск и проверка
Для разовой проверки:
- Сохраните ваш INI-файл в папку
Configsрядом с утилитой. - Запустите утилиту, передав ей ваш конфиг:
MD4_GoogleConnector.exe config=Configs/МойПервыйЭкран.ini.
Для фоновой автоматической работы:
- Запустите
install_eventlog.batот имени администратора (один раз). - Запустите
ServiceInstall.batот администратора, выберите ваш конфиг из списка и установите службу. - В
services.mscнайдите службу «Служба обновления медиа-контента» и запустите ее.
Где смотреть логи?
- Если запускали вручную через утилиту, информация выводится в папке Log.
- Если работает служба, используйте Просмотр событий (eventvwr.msc) -> Журналы приложений и служб -> MediaDisplayContentService.
Коды ошибок
| Код | Описание | Возможные причины |
|---|---|---|
| 0 | Success | Успешное выполнение. |
| 1 | ConfigurationError | Ошибка в конфигурационном INI-файле. |
| 2 | FileNotFound | Отсутствует credentials.json или неверный путь к INI-файлу. |
| 3 | GoogleApiError | Проблемы с Google Sheets API. |
| 4 | InvalidDataFormat | Неверный формат данных в JSON. |
| 5 | NetworkError | Нет связи с сервером Медиадисплей. |
Результат на экране
Реальный макет, где данные изменились и отображаются текст, таблица, фото, видео, диаграммы
Заключение
Вы создали свой первый динамический экран! Мы прошли все основные шаги: от проектирования макета и подготовки данных в Google Таблицах до написания конфигурационного файла и запуска обновления. Эта схема универсальна и подходит для любых задач: от меню в кафе до информационных дашборд.