Важно – В данной статье используется устаревшее API. Для работы с Google-таблицами используйте Новое API.

Получение данных из таблицы Google

Обучающее видео

В описании ниже показано, как с помощью блока Запрос к серверу можно получить данные из таблицы в Google Docs.

В качестве примера используется таблица, которая состоит из двух столбцов (ФИО и Телефон).

После запуска готового сценария робот попросит ввести название столбца таблицы, из первой строчки которого он получит данные и затем отобразит их в диалоге.



Для создания сценария выполните следующее:

  1. Перейдите в раздел Сценарии Сценарии и нажмите кнопку Новый сценарий.

         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 – содержимое таблицы Google.
    • 0 («ноль») – это номер строки. В этом примере робот получит данные из первой строки таблицы

Первая строка в массиве имеет номер 0, вторая – 1, третья – 2 и тд.

    • ФИО – это название столбца таблицы. Робот получит данные из столбца ФИО.

      10. Выделите стрелку, которая соединяет блок Результат со вторым блоком Информация. В этой стрелке робот будет отлавливать ошибки.

           В свойствах стрелки задайте следующие параметры:

  • В поле Тип выберите Результат.
  • В поле Успешность запроса выберите значение Не успешно.

       11. Добавьте в сценарий еще один блок Запрос к серверу, а также два блока Информация.

            В свойствах блока Запрос к серверу задайте те же самые параметры, которые вы указали на шаге 6.

            В первом блоке Информация введите следующий текст: «Номер телефона будет следующим: {phone}».

            Во втором блоке Информация введите: «Произошла ошибка».

       12. Выделите стрелку, которая соединяет блок Вопрос с блоком Запрос к серверу. В свойствах стрелки задайте следующие параметры:

  • В поле Тип выходных данных выберите значение Ключевые слова.
  • В поле Вариант ответа введите Номер телефона. Так будет называться кнопка, при нажатии на которую будет выбран столбец Телефон.

       13. Выделите стрелку, которая соединяет блок Результат с первым блоком Информация. С помощью этой стрелки робот будет извлекать из ответа нужное значение и сохранять его в переменную. В свойствах стрелки задайте следующие параметры:

  • В поле Тип выберите Результат.
  • В поле Успешность запроса выберите вариант Успешно.
  • В разделе Условия добавьте условие, при помощи которого система выполнит проверку запроса на успешность: result.msg=Success.
  • В разделе Присвоить переменные при выборе ветки введите переменную с именем name и укажите ее значение равное result.data.0.Телефон, где:
    • result – означает, что данные берутся из ответа.
    • data – содержимое таблицы.
    • 0 («ноль») – это номер строки. В этом примере робот получит данные из первой строки таблицы.

Первая строка в массиве имеет номер 0, вторая – 1, третья – 2 и тд.

    • Телефон – это название столбца таблицы. В этом примере столбец называется «Телефон».

       14. Выделите стрелку, которая соединяет блок Результат со вторым блоком Информация, и задайте параметры стрелки, как показано на рисунке ниже.

       15. Нажмите кнопку Сохранить в верхней части редактора сценариев.

       Сценарий создан. Запустите диалог и проверьте, что робот возвращает нужные значения.

Поиск данных в таблице Google

Обучающее видео

В описании ниже пойдет речь о том, как искать данные в таблице Google. В этом примере используется таблица, которая состоит из двух столбцов (ФИО и Телефон). В примере будет показано, как найти номер телефона по ФИО человека.



Для создания сценария выполните следующее:

  1. На странице Сценарии создайте новый сценарий.

 

        2. Нажмите кнопку в строке созданного сценария.

          Откроется окно редактора сценария.

       3. Разместите в сценарии блок Результат с двумя переменными: url и sheet.

  • В качестве значения переменной url укажите адрес вашей таблицы.
  • В качестве значения переменной sheet введите номер листа таблицы, на котором содержится интересующая вас информация (например, «лист 1»).

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

  • В поле Выберите тип действия выберите значение Без действия.

Адрес таблицы можно скопировать в настройках доступа к таблице.  Для этого нажмите кнопку Настройки Доступа и затем в открывшемся меню нажмите кнопку Копировать ссылку. Убедитесь, что в секции Общий доступ выбрано значение Все, у кого есть ссылка.

        4. Добавьте в сценарий блок Вопрос. В поле Вопрос (произносится роботом) введите следующий текст: Введите имя нужного человека.

      5. После блока Вопрос разместите блок Запрос к серверу и задайте следующие параметры:

  • В поле Тип авторизации выберите значение Отсутствует. При обращении к вашей таблице авторизация не требуется, так как доступ к таблице имеют все, у кого есть ссылка на нее.
  • В поле Выберите тип запроса укажите 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 были определены в блоке Результат в самом начале сценария (см. шаг 3).

       6. Выделите стрелку, которая соединяет блок Вопрос с блоком Запрос к серверу. В свойствах стрелки задайте следующие параметры:

  • Установите флажок для параметра Сохранить ответ.
  • В поле Название переменной введите значение name. В эту переменную будет записано имя, которое назовет пользователь.
  • В поле Тип выходных данных выберите значение Ветка по умолчанию.

       7. После блока Запрос к серверу разместите 2 блока Информация.

         В первом блоке введите следующее сообщение: «Номер телефона будет следующим: {phone}», где:

  • {phone} – это имя переменной, которая вернет номер телефона из таблицы.

         Во втором блоке введите: «Произошла ошибка».

       8. Выделите стрелку, которая соединяет блок Результат с первым блоком Информация. С помощью этой стрелки робот будет извлекать из ответа нужное значение и сохранять его в переменную. В свойствах стрелки задайте следующие параметры:

  • В поле Тип выберите Результат.
  • В поле Успешность запроса выберите значение Успешно.
  • В разделе Условия добавьте условие, при помощи которого система выполнит проверку запроса на успешность: result.msg=Success.
  • В разделе Присвоить переменные при выборе ветки введите переменную с именем phone и укажите ее значение равное result.data.0.Телефон, где:
    • result – означает, что данные берутся из ответа.
    • data – содержимое таблицы.
    • 0 («ноль») – это номер строки. В этом примере робот получит данные из первой строки таблицы.
    • Телефон – это название столбца таблицы (Телефон).

       9. Выделите стрелку, которая соединяет блок Результат со вторым блоком Информация. В этой стрелке робот будет отлавливать ошибки. В свойствах стрелки задайте следующие параметры:

  • В поле Тип выберите Результат.
  • В поле Успешность запроса выберите значение Не успешно.

       10. Нажмите кнопку Сохранить в верхней части редактора сценариев.

            Сценарий создан. Запустите диалог и проверьте, что робот возвращает номер телефона по ФИО человека.

Добавление данных в таблицу Google

Обучающее видео

В описании ниже пойдет речь о том, как добавлять данные в таблицу Google. В этом примере также используется таблица, которая состоит из двух столбцов (ФИО и Телефон).

Для создания сценария выполните следующее:

  1. На странице Сценарии создайте новый сценарий.

 


        2. Нажмите кнопку в строке созданного сценария.

       Откроется окно редактора сценария.

       3. Разместите в сценарии блок Результат с двумя переменными: url и sheet.

  • В качестве значения переменной url укажите адрес вашей таблицы.
  • В качестве значения переменной sheet введите номер листа таблицы, на который робот будет записывать данные (например, «лист 1»).

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

  • В поле Выберите тип действия выберите значение Без действия.

Адрес таблицы можно скопировать в настройках доступа к таблице.  Для этого нажмите кнопку Настройки Доступа и затем в открывшемся меню нажмите кнопку Копировать ссылку. Убедитесь, что в секции Общий доступ выбраны значения Все, у кого есть ссылка и Редактор.

        4. Добавьте в сценарий блок Вопрос. В поле Вопрос (произносится роботом) введите следующий текст: «Введите имя».

        5. Добавьте в сценарий еще один блок Вопрос. В поле Вопрос (произносится роботом) введите следующий текст: «Укажите номер телефона».

      6. Выделите стрелку, которая соединяет первый блок Вопрос со вторым. В свойствах стрелки задайте следующие параметры:

  • Установите флажок напротив параметра Сохранить ответ.
  • В поле Название переменной введите значение name. В эту переменную будет записан ответ пользователя.
  • В поле Тип выходных данных выберите значение Ветка по умолчанию.

      7. После блока Вопрос разместите блок Запрос к серверу и задайте следующие параметры:

  • В поле Тип авторизации выберите значение Отсутствует. При обращении к вашей таблице авторизация не требуется, так как доступ к таблице имеют все, у кого есть ссылка на нее.
  • В поле Выберите тип запроса укажите Post. Именно этот запрос используется для получения данных.
  • В поле URL введите следующее значение: https://script.google.com/macros/s/AKfycbywN2f6PJs_2OhVSgDaN1oUEK9N-OmBuancUMJA-wuIfPXovZ0PJnY9iAsZ12sYd_LP/exec?action=addData&sheetURL={url}&sheetName={sheet}, где:
    • https://script.google.com/macros/s/AKfycbywN2f6PJs_2OhVSgDaN1oUEK9N-OmBuancUMJA-wuIfPXovZ0PJnY9iAsZ12sYd_LP/exec? – это адрес, на который будет отправлен запрос.
    • action – параметр, который определяет действие над таблицей. В качестве значения используется метод addData (добавление данных в таблицу).
    • sheetURL – параметр, значением которого является адрес вашей таблицы. В качестве значения этого параметра указано имя переменной в фигурных скобках {url}.
    • sheetName – параметр, значением которого является номер листа с данными. В качестве значения этого параметра указано имя переменной {sheet}. При этом также используются фигурные скобки.
  • В поле Выберите тип содержимого выберите значение json.
  • В поле Тело запроса создайте 2 элемента со следующими значениями:
    • Элемент имя со значением {name}. Этот элемент будет передавать в тело запроса значение переменной name.
    • Переменную телефон со значением {phone}. Здесь в тело запроса будет передаваться значение переменной phone.

      8. Выделите стрелку, которая соединяет блок Вопрос с блоком Запрос к серверу. В свойствах стрелки задайте следующие параметры:

  • Установите флажок напротив параметра Сохранить ответ.
  • В поле Название переменной введите значение phone. В эту переменную будет записан ответ пользователя.
  • В поле Тип выходных данных выберите значение Ветка по умолчанию.

        9. После блока Запрос к серверу разместите блок Информация со следующим текстом: «Данные сохранены!»

        10. Нажмите кнопку Сохранить в верхней части редактора сценариев.

        Сценарий создан. Запустите диалог и проверьте, что робот возвращает нужные данные.

Изменение данных в таблице Google

Обучающее видео


В описании ниже пойдет речь о том, как с помощью блока Запрос к серверу можно изменить данные в таблице в Google Docs.

В качестве примера используется таблица, которая состоит из двух столбцов (ФИО и Телефон).

После запуска готового сценария робот попросит указать столбец и строку, в которой нужно изменить данные, а также запросит информацию, которую нужно сохранить в указанной строке.

Для создания сценария выполните следующее:

  1. Перейдите в раздел Сценарии Сценарии и нажмите кнопку Новый сценарий.

         2. Создайте новый сценарий. Например: Изменение данных в таблице Google.

       3. Нажмите кнопку в строке созданного сценария.

        4. Разместите в сценарии блок Результат с двумя переменными: url и sheet.

  • В качестве значения переменной url укажите адрес вашей таблицы.
  • В качестве значения переменной sheet введите номер листа таблицы, на котором содержится интересующая вас информация (например, «лист1»).

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

  • В поле Выберите тип действия выберите значение Без действия.

Адрес таблицы можно скопировать в настройках доступа к таблице.  Для этого нажмите кнопку Настройки Доступа и затем в открывшемся меню нажмите кнопку Копировать ссылку. Убедитесь, что в секции Общий доступ выбраны значения Все, у кого есть ссылка и Редактор.

       5. Добавьте в сценарий блок Вопрос.

          В поле Вопрос (произносится роботом) введите следующий текст: «Введите номер столбца».

       5. Добавьте в сценарий еще 2 блока Вопрос.

  • В поле Вопрос (произносится роботом) первого блока введите следующий текст: «Введите номер строки».
  • В поле Вопрос (произносится роботом) второго блока введите: «Что вы хотите ввести?»

      6. Выделите стрелку, которая соединяет первый блок Вопрос со вторым. В свойствах стрелки задайте следующие параметры:

  • Установите флажок напротив параметра Сохранить ответ.
  • В поле Название переменной введите значение column. В эту переменную будет записан ответ пользователя.
  • В поле Тип выходных данных выберите значение Ветка по умолчанию.

      7. Выделите стрелку, которая соединяет второй блок Вопрос с третьим. В свойствах стрелки задайте следующие параметры:

  • Установите флажок напротив параметра Сохранить ответ.
  • В поле Название переменной введите значение row. В эту переменную будет записан ответ пользователя.
  • В поле Тип выходных данных выберите значение Ветка по умолчанию.

      8. После блока Вопрос разместите блок Запрос к серверу и задайте следующие параметры:

  • В поле Тип авторизации выберите значение Отсутствует. При обращении к вашей таблице авторизация не требуется, так как доступ к таблице имеют все, у кого есть ссылка на нее.
  • В поле Выберите тип запроса укажите Post. Именно этот запрос используется для получения данных.
  • В поле URL введите следующее значение: https://script.google.com/macros/s/AKfycbywN2f6PJs_2OhVSgDaN1oUEK9N-OmBuancUMJA-wuIfPXovZ0PJnY9iAsZ12sYd_LP/exec?action=updateCell&sheetURL={url}&sheetName={sheet}&col={column}&row={row}, где:
    • https://script.google.com/macros/s/AKfycbywN2f6PJs_2OhVSgDaN1oUEK9N-OmBuancUMJA-wuIfPXovZ0PJnY9iAsZ12sYd_LP/exec? – это адрес, на который будет отправлен запрос.
    • action – параметр, который определяет действие над таблицей. В качестве значения используется метод updateCell (обновление данных в таблице).
    • sheetURL – параметр, значением которого является адрес вашей таблицы. В качестве значения этого параметра указано имя переменной в фигурных скобках {url}.
    • sheetName – параметр, значением которого является номер листа с данными. В качестве значения этого параметра указано имя переменной {sheet}. При этом также используются фигурные скобки.
    • col – параметр, значением которого является название столбца, в котором будут изменены данные. В качестве значения этого параметра указано имя переменной в фигурных скобках {column}.
    • row – параметр, значением которого является название номер строки, в которой будут изменены данные. В качестве значения этого параметра указано имя переменной в фигурных скобках {column}.
  • В поле Выберите тип содержимого выберите значение json.
  • В поле Тело запроса создайте элемент new_data со значением {data}. Этот элемент будет передавать в тело запроса значение переменной data.

      9. Выделите стрелку, которая соединяет блок Вопрос с блоком Запрос к серверу. В свойствах стрелки задайте следующие параметры:

  • Установите флажок напротив параметра Сохранить ответ.
  • В поле Название переменной введите значение data. В эту переменную будет записан ответ пользователя.
  • В поле Тип выходных данных выберите значение Ветка по умолчанию.

        7. После блока Запрос к серверу разместите блок Информация со следующим текстом: «Данные обновлены!»

        8. Нажмите кнопку Сохранить в верхней части редактора сценариев.

                 Сценарий создан. Запустите диалог и проверьте, что робот обновляет значение в указываемой вами строке.

Удаление данных из таблицы Google

Обучающее видео

Ниже будет показано, как удалять данные из таблицы Google. В качестве примера используется та же самая таблица со столбцами ФИО и Телефон.

Для создания сценария выполните следующее:

  1. На странице Сценарии создайте новый сценарий.

 


        2. Нажмите кнопку в строке созданного сценария.

       Откроется окно редактора сценария.

       3. Разместите в сценарии блок Результат с двумя переменными: url и sheet.

  • В качестве значения переменной url укажите адрес вашей таблицы.
  • В качестве значения переменной sheet введите номер листа таблицы, с которого робот будет удалять данные (например, «лист 1»).

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

  • В поле Выберите тип действия выберите значение Без действия.

Адрес таблицы можно скопировать в настройках доступа к таблице.  Для этого нажмите кнопку Настройки Доступа и затем в открывшемся меню нажмите кнопку Копировать ссылку. Убедитесь, что в секции Общий доступ выбраны значения Все, у кого есть ссылка и Редактор.

        4. Добавьте в сценарий блок Вопрос.

           В поле Вопрос (произносится роботом) введите следующий текст: «Введите номер строки, которую нужно удалить».

       5. Добавьте в сценарий еще один блок Запрос к серверу и задайте следующие параметры:

  • В поле Тип авторизации выберите значение Отсутствует. При обращении к вашей таблице авторизация не требуется, так как доступ к таблице имеют все, у кого есть ссылка на нее.
  • В поле Выберите тип запроса укажите Delete. Именно этот запрос используется для удаления данных.
  • В поле URL введите следующее значение: https://script.google.com/macros/s/AKfycbywN2f6PJs_2OhVSgDaN1oUEK9N-OmBuancUMJA-wuIfPXovZ0PJnY9iAsZ12sYd_LP/exec?action=deleteRow&sheetURL={url}&sheetName={sheet}&row={line}, где:
    • https://script.google.com/macros/s/AKfycbywN2f6PJs_2OhVSgDaN1oUEK9N-OmBuancUMJA-wuIfPXovZ0PJnY9iAsZ12sYd_LP/exec? – это адрес, на который будет отправлен запрос.
    • action – параметр, который определяет действие над таблицей. В качестве значения используется метод deleteRow (удаление данных из таблицы).
    • sheetURL – параметр, значением которого является адрес вашей таблицы. В качестве значения этого параметра указано имя переменной {url} в фигурных скобках.
    • sheetName – параметр, значением которого является номер листа, с которого робот будет удалять данные. В качестве значения этого параметра указано имя переменной {sheet}. При этом также используются фигурные скобки.

       6. Выделите стрелку, которая соединяет блок Вопрос с блоком Запрос к серверу. В свойствах стрелки задайте следующие параметры:

  • Установите флажок напротив параметра Сохранить ответ.
  • В поле Название переменной введите значение line. В эту переменную будет записан ответ пользователя.
  • В поле Тип выходных данных выберите значение Ветка по умолчанию.

        7. После блока Запрос к серверу разместите блок Информация со следующим текстом: «Данные сохранены!»

        8. Нажмите кнопку Сохранить в верхней части редактора сценариев.

                 Сценарий создан. Запустите диалог и проверьте, что робот удаляет значения из указанной строки.

.