DevGang
Авторизоваться

Синхронизация Google Sheets с базой данных Firebase в реальном времени 

Часто при тестировании дизайна полезно создать прототип с реалистичными данными. Пользователи склонны давать лучшие отзывы, когда содержание правдоподобно, а не заполнено текстом «lorem ipsum». В этом коротком руководстве мы покажем, как синхронизировать электронную таблицу Google Sheets с базой данных Firebase Realtime и использовать ее в своем высокоточном прототипе в качестве источника данных.

В целом, использование базы данных в реальном времени проще и быстрее, чем непосредственное использование Sheets API. Уровень Firebase также поддерживает до 100 000 одновременных подключений против 400 с использованием Sheets API. После синхронизации электронной таблицы вы можете легко использовать любой стек для доступа к вашим данным. Это также дает заинтересованным сторонам и исследователям простой способ манипулировать данными, видеть изменения в реальном времени и очень быстро тестировать множество вариантов.

Шаг 1: Создайте свой проект Firebase

Если вы еще этого не сделали, зарегистрируйтесь в Firebase, используя бесплатную подписку, а затем создайте свой проект.

Шаг 2: Создайте Realtime базу данных

Перейдите в Develop -> Database и нажмите кнопку «Create database».

Убедитесь, что вы изменили свои права на чтение и запись на «true» и нажмите «Опубликовать».

Скопируйте URL базы данных. Нам он понадобится позже.

URL вашей базы данных будет уникальным для вашего проекта.

Шаг 3. Создайте электронную таблицу и заполните ее, используя следующий формат

Первый ряд содержит ваши ключи. Первый ключ должен быть установлен в «id», и каждая строка должна быть помечена соответствующим номером, начиная с «1».

Вы можете добавить столько строк или столбцов, сколько вам нужно.

Шаг 4. Создайте свой проект Apps Script

В меню выберите Tools -> Script editor.

Вы попадете в редактор кода со следующим открытым файлом: Code.gs.

Замените содержимое этим фрагментом.

Найдите этот код в верхней части файла:

Замените параметр «spreadsheetID» своим собственным. Идентификатор - это выделенная жирным шрифтом часть полного URL-адреса электронной таблицы например:

https://docs.google.com/spreadsheets/d/spreadsheetID/edit#gid=0)

Замените заполнитель «firebaseUrl» на URL вашей базы данных из шага 2.

В вашем меню выберите View -> Show manifest file, который добавит файл с именем appsscript.json.

Это добавит файл appsscript.json в ваш проект. Замените содержимое следующим фрагментом.

Шаг 5: Запустите синхронизацию

В меню выберите Run -> Run function -> initialize. Вы увидите приглашение просмотреть и принять разрешения. Это позволяет проекту App Script получить доступ к электронной таблице и загрузить данные в Firebase. Нажмите Review Permissions, а затем нажмите Allow.

Превосходно! Ваша база данных Firebase Realtime теперь заполнена данными из вашей электронной таблицы! Любые дальнейшие изменения будут синхронизироваться без проблем, и вы даже сможете поделиться своей таблицей с другими людьми.

Советы и хитрости

Добавить безопасности

Если вы чувствуете себя модно, вы можете добавить немного больше безопасности в базу данных Firebase. Перейдите в Firebase Console -> Database и измените ваши правила на следующие.

Вы должны будете реализовать Аутентификацию Firebase на своем прототипе, чтобы ваши пользователи могли читать данные. Установка метода записи в false означает, что только ваша электронная таблица может записывать в базу данных.

Генерация массива

В списке, если ваш идентификатор начинается с 0 и увеличивается на 1, сценарий сгенерирует массив вместо пар ключ-значение.

Вложенные данные

При преобразовании таблицы в JSON можно выполнить только один уровень вложенности. Но что, если вам нужны вложенные данные? Приведенный выше скрипт имеет специальную функцию, которая позволяет создавать вложенный объект. Просто назовите заголовок столбца с путем к ключу соединения объектов, используя двойное подчеркивание __. Если вы хотите поместить улицу под адресом, вы можете просто сказать «address__street», это означает, что у вас не может быть столбца с именем только адрес в вашем списке.

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

Попробуйте! Вы не будете разочарованы...

Мы думаем, что техника, которую мы описали, поможет вашим прототипам с реалистичными данными. Наша цель - помочь сократить количество времени, которое вы тратите на ввод данных, и высвободить больше времени для экспериментов и повторений! 

Перевод статьи: Sync Google Sheets to a Firebase Realtime Database
Источник: medium.com

Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу