- Создана пользователем Кадубовский Андрей (Twin). Последнее обновление: 17 авг., 2022 Время чтения: 10 мин.
Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим просмотр истории страницы
« Предыдущий Версия 77 Следующий »
Получение данных из таблицы Google
Обучающее видео
Ниже будет наглядно показано, как с помощью блока Запрос к серверу можно получить данные из таблицы в Google Docs. В качестве примера используется таблица, которая состоит из двух столбцов (ФИО и Телефон). После запуска готового сценария вы сможете выбрать столбец, из первой строчки которого робот получит и отобразит данные.
Для создания сценария выполните следующее:
- В боковом меню разверните раздел Сценарии и затем выберите пункт Сценарии.
2. Создайте новый сценарий. Например: Получение данных из таблицы Google.
3. Нажмите кнопку в строке созданного сценария.
4. Разместите в сценарии блок Результат с двумя переменными: url и sheet. В качестве значения переменной url укажите адрес вашей таблицы. В качестве значения переменной sheet введите номер листа таблицы, на котором содержится интересующая вас информация (например, лист 1).
Вы можете не создавать блок Результат с указанными переменными, а просто использовать значения этих переменных в блоках сценария. Но если адрес таблицы изменится, или вам потребуется получить данные с другого листа, то вам придется вносить изменения сразу в несколько блоков сценария.
- В поле Выберите тип действия выберите значение Без действия.
Адрес таблицы можно скопировать в настройках доступа к таблице. Для этого нажмите кнопку Настройки Доступа и затем в открывшемся меню нажмите кнопку Копировать ссылку. Убедитесь, что в секции Общий доступ выбрано значение Все, у кого есть ссылка.
5. Добавьте в сценарий блок Вопрос. В поле Вопрос (произносится роботом) введите следующий текст: Какую информацию нужно отобразить: ФИО или номер телефона?
6. После блока Вопрос разместите блок Запрос к серверу и задайте следующие параметры:
- В поле Тип авторизации выберите значение Отсутствует. При обращении к вашей таблице авторизация не требуется, так как доступ к таблице имеют все, у кого есть ссылка на нее.
- В поле Выберите тип запроса укажите Get. Именно этот запрос используется для получения данных.
- В поле URL введите следующее значение: https://script.google.com/macros/s/AKfycbywN2f6PJs_2OhVSgDaN1oUEK9N-OmBuancUMJA-wuIfPXovZ0PJnY9iAsZ12sYd_LP/exec?sheetURL={url}&sheetName={sheet}, где:
- https://script.google.com/macros/s/AKfycbywN2f6PJs_2OhVSgDaN1oUEK9N-OmBuancUMJA-wuIfPXovZ0PJnY9iAsZ12sYd_LP/exec? – это адрес, на который будет отправлен запрос
- sheetURL={url} – параметр, значением которого является адрес вашей таблицы. В качестве значения этого параметра указано имя переменной url.
- sheetName={sheet} – параметр, значением которого является номер листа с данными. В качестве значения этого параметра указано имя переменной sheet. При этом также используются фигурные скобки
При указании имени переменной нужно использовать фигурные скобки.
Переменные url и sheet были определены в блоке Результат в самом начале сценария (см. шаг 4).
7. Выделите стрелку, которая соединяет блок Вопрос с блоком Запрос к серверу. В свойствах стрелки задайте следующие параметры:
- В поле Тип выходных данных выберите значение Ключевые слова.
- В поле Вариант ответа введите ФИО. Так будет называться кнопка, которую можно будет использовать, чтобы в качестве ответа на вопрос робота выбрать столбец ФИО.
8. После блока Запрос к серверу разместите 2 блока Информация. В первом блоке задайте следующее информационное сообщение: ФИО будут следующими: {name}, где:
- {name} – это имя переменной, которая вернет ФИО из таблицы
Во втором блоке введите: Произошла ошибка.
9. Выделите стрелку, которая соединяет блок Результат с первым блоком Информация. С помощью этой стрелки робот будет извлекать из ответа нужное значение и сохранять его в переменную. В свойствах стрелки задайте следующие параметры:
- В поле Тип выберите Результат
- В поле Успешность запроса выберите значение Успешно
- В разделе Условия добавьте условие, при помощи которого система выполнит проверку запроса на успешность: result.msg=Success
- В разделе Присвоить переменные при выборе ветки введите переменную с именем name и укажите ее значение равное result.data.0.ФИО, где:
- result – означает, что данные берутся из ответа.
- data – содержимое таблицы.
- 0 (ноль) – это номер строки после названия столбца. В этой ветке робот получит данные из первой строки таблицы (первая строка в массиве имеет номер 0, вторая – 1, третья – 2 и тд.).
- ФИО – это название столбца таблицы. В этой ветке робот получит данные из столбца ФИО.
10. Выделите стрелку, которая соединяет блок Результат со вторым блоком Информация. В этой стрелке робот будет отлавливать ошибки. В свойствах стрелки задайте следующие параметры:
- В поле Тип выберите Результат
- В поле Успешность запроса выберите значение Не успешно
11. Добавьте в сценарий еще один блок Запрос к серверу, а также два блока Информация. В свойствах блока Запрос к серверу задайте те же самые параметры, которые вы указали на шаге 6. В первом блоке Информация введите следующий текст: Номер телефона будет следующим: {phone}. Во втором блоке Информация введите: Произошла ошибка.
12. Выделите стрелку, которая соединяет блок Вопрос с блоком Запрос к серверу. В свойствах стрелки задайте следующие параметры:
- В поле Тип выходных данных выберите значение Ключевые слова
- В поле Вариант ответа введите Номер телефона. Так будет называться кнопка, которую можно будет использовать, чтобы в качестве ответа на вопрос робота выбрать столбец Телефон
13. Выделите стрелку, которая соединяет блок Результат с первым блоком Информация. С помощью этой стрелки робот будет извлекать из ответа нужное значение и сохранять его в переменную. В свойствах стрелки задайте следующие параметры:
- В поле Тип выберите Результат
- В поле Успешность запроса выберите вариант Успешно
- В разделе Условия добавьте условие, при помощи которого система выполнит проверку запроса на успешность: result.msg=Success
- В разделе Присвоить переменные при выборе ветки введите переменную c именем name и укажите ее значение равное result.data.0.Телефон, где:
- result – означает, что данные берутся из ответа
- data – содержимое таблицы
- 0 (ноль) – это номер строки после заголовка. В этом примере робот получит данные из первой строки таблицы (первая строка в массиве имеет номер 0, вторая – 1, третья – 2 и тд.)
- Телефон – это название столбца таблицы. В этом примере столбец называется Телефон
14. Выделите стрелку, которая соединяет блок Результат со вторым блоком Информация, и задайте параметры стрелки, как показано на рисунке ниже.
15. Нажмите кнопку сохранить в верхней части редактора сценариев.
Сценарий создан. Запустите диалог и проверьте, что робот возвращает нужные значения.
Поиск данных в таблице Google
Обучающее видео
В описании ниже пойдет речь о том, как искать данные в таблице Google. В этом примере используется таблица, которая состоит из двух столбцов (ФИО и Телефон). В примере будет показано, как найти номер телефона по ФИО человека.
Для создания сценария выполните следующее:
- В боковом меню разверните раздел Сценарии и затем выберите пункт Сценарии.
2. Создайте новый сценарий:
3. Нажмите кнопку в строке созданного сценария.
4. Откроется окно редактора сценария.
5. Разместите в сценарии блок Результат с двумя переменными: url и sheet.
- В качестве значения переменной url укажите адрес вашей таблицы. В качестве значения переменной sheet введите номер листа таблицы, на котором содержится интересующая вас информация (например, лист 1).
Вы можете не создавать блок Результат с указанными переменными, а просто использовать значения этих переменных в следующих блоках сценария. Но если адрес таблицы изменится, или вам потребуется получить данные с другого листа, то вам придется вносить изменения сразу в несколько блоков.
- В поле Выберите тип действия выберите значение Без действия.
Адрес таблицы можно скопировать в настройках доступа к таблице. Для этого нажмите кнопку Настройки Доступа и затем в открывшемся меню нажмите кнопку Копировать ссылку. Убедитесь, что в секции Общий доступ выбрано значение Все, у кого есть ссылка.
6. Добавьте в сценарий блок Вопрос. В поле Вопрос (произносится роботом) введите следующий текст: Введите имя нужного человека.
7. После блока Вопрос разместите блок Запрос к серверу и задайте следующие параметры:
- В поле Тип авторизации выберите значение Отсутствует. При обращении к вашей таблице авторизация не требуется, так как доступ к таблице имеют все, у кого есть ссылка на нее.
- В поле Выберите тип запроса укажите Get. Именно этот запрос используется для получения данных.
- В поле URL введите следующее значение: https://script.google.com/macros/s/AKfycbywN2f6PJs_2OhVSgDaN1oUEK9N-OmBuancUMJA-wuIfPXovZ0PJnY9iAsZ12sYd_LP/exec?sheetURL={url}&sheetName={sheet}&filterHead=ФИО&filterValue={name}, где:
- https://script.google.com/macros/s/AKfycbywN2f6PJs_2OhVSgDaN1oUEK9N-OmBuancUMJA-wuIfPXovZ0PJnY9iAsZ12sYd_LP/exec? – это адрес, на который будет отправлен запрос
- sheetURL – параметр, значением которого является адрес вашей таблицы. В качестве значения этого параметра указано имя переменной url.
- sheetName – параметр, значением которого является номер листа с данными. В качестве значения этого параметра указано имя переменной sheet. При этом также используются фигурные скобки
- filterHead – параметр, который передает название столбца, в котором робот будет искать данные. В этом примере столбец называется ФИО.
- filterValue – параметр, который передает имя человека, чей номер телефона робот отобразит пользователю. В качестве значения этого параметра указано имя переменной name.
При указании имени переменной в тексте ссылки нужно использовать фигурные скобки.
Переменные url и sheet были определены в блоке Результат в самом начале сценария (см. шаг 4).
8. Выделите стрелку, которая соединяет блок Вопрос с блоком Запрос к серверу. В свойствах стрелки задайте следующие параметры:
- Установите флажок для параметра Сохранить ответ.
- В поле Название переменной введите значение name. В эту переменную будет записано имя, которое назовет пользователь.
- В поле Тип выходных данных выберите значение Ветка по умолчанию.
9. После блока Запрос к серверу разместите 2 блока Информация. В первом блоке задайте следующее информационное сообщение: Номер телефона будет следующим: {phone}, где:
- {phone} – это имя переменной, которая вернет номер телефона из таблицы
Во втором блоке введите: Произошла ошибка.
10. Выделите стрелку, которая соединяет блок Результат с первым блоком Информация. С помощью этой стрелки робот будет извлекать из ответа нужное значение и сохранять его в переменную. В свойствах стрелки задайте следующие параметры:
- В поле Тип выберите Результат
- В поле Успешность запроса выберите значение Успешно
- В разделе Условия добавьте условие, при помощи которого система выполнит проверку запроса на успешность: result.msg=Success
- В разделе Присвоить переменные при выборе ветки введите переменную с именем phone и укажите ее значение равное result.data.0.Телефон, где:
- result – означает, что данные берутся из ответа
- data – содержимое таблицы
- 0 (ноль) – это номер строки после названия столбца. В этой ветке робот получит данные из первой строки таблицы (первая строка в массиве имеет номер 0, вторая – 1, третья – 2 и тд.)
- Телефон – это название столбца таблицы (Телефон)
11. Выделите стрелку, которая соединяет блок Результат со вторым блоком Информация. В этой стрелке робот будет отлавливать ошибки. В свойствах стрелки задайте следующие параметры:
- В поле Тип выберите Результат
- В поле Успешность запроса выберите значение Не успешно
12. Нажмите кнопку сохранить в верхней части редактора сценариев.
Сценарий создан. Запустите диалог и проверьте, что робот возвращает номер телефона по ФИО человека.
Добавление и удаление данных из таблицы Google
Обучающее видео
- Нет меток