Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Подключение сценария к Google Sheets позволяет отправлять результаты опросов пользователей или прочие данные в таблицы.

Создание проекта и сервисного аккаунта

Сервисный аккаунт нужен для доступа AutoFAQ к таблицам Google Sheets. Одного аккаунта достаточно для всех таблиц. При необходимости отключить доступ AutoFAQ ко всем таблицам просто отключите сервисный аккаунт.

  1. Перейдите в меню сервисных аккаунтов Google https://console.cloud.google.com/iam-admin/serviceaccounts

  2. Создайте новый проект или выберите готовый проект

3. Создайте в выбранном проекте сервисный аккаунт или выберите существующий сервисный аккаунт. При создании нового аккаунта достаточно выполнить шаг 1, редактировать доступы к проектам не обязательно. Сохраните имя сервисного аккаунта - оно понадобится позднее.

3. У созданного сервисного аккаунта создайте ключ в формате JSON. ВНИМАНИЕ, сразу после создания ключа вам будет предложено сохранить файл - сохраните его в надежном месте. Если вы пропустили сохранение файла - удалите созданный ключ и сделайте новый, сохранив файл.

Подключение к Google Sheets

Подключение Google Sheets к проекту

  1. Пройдите по ссылке https://console.cloud.google.com/apis/library/sheets.googleapis.com

2. Выберите ваш проект и включите доступ проекта в Google Sheets API

3. Включите доступ для сервисной учетной записи

Доступ сервисного аккаунта к выбранной таблице

1. Создайте новую таблицу Google Sheets или открываете созданную ранее, проверьте наименование листа, там не должно быть символов на русском языке, при необходимости переименуйте название листа таблицы

2. Добавьте созданный сервисный аккаунт в качестве редактора таблицы

3. Сохраните идентификатор таблицы Google Sheets

Подключение интеграции с Google к AutoFAQ

К сожалению, UI интеграции c Google еще в работе. Свяжитесь с нами по почте support@autofaq.ai для подключения вашего сценария опроса к Google Sheets.

Пример сценария c сохранением даных в таблице Google Sheets

Ниже приведен пример сценария опроса пользователя и сохранения результатов опроса в таблицу Google Sheets.

 Разверните чтобы открыть текст сценария
//
// Сценарий опроса пользователя и сохранения результатов в таблице Google Sheet
// 
// Указать наименование сервисного аккаунта
установитьПеременную("email", "autofaqaccount@autofaqproject.iam.gserviceaccount.com") +
// Указать идентификатор таблицы Google Sheet
установитьПеременную("sheetId", "18ItMIY6-epFpT1yoYuP2NyE2jRND8V-uxR2XTUd2tC8")+
// Указать название листа в таблице Google Sheet 
установитьПеременную("sheetName", "Sheet1")+
//
// Опрос пользователя
задатьПользователюВопрос("Как вас зовут").сохранитьРезультат("sendFio") +
задатьПользователюВопрос("Кем вы работаете").сохранитьРезультат("sendOtdel") +
задатьПользователюВопрос("Сколько вам лет").сохранитьРезультат("sendAge") +
задатьПользователюВопрос("Уточните, пожалуйста, что для Вас является приоритетным?").сВариантамиОтвета("Получение максимальной суммы","Простота получения").сохранитьРезультат("sendPriority")+
задатьПользователюВопрос("Укажите, на какие цели предназначается займ?").сохранитьРезультат("sendGoal")+
//
// Формирование тела запроса на добавление 1 строки в конец таблицы, количество столбцов - не более 25
выполнитьJs("""
    // Дата добавления
    var sendDate = new Date();
    
    // Список добавляемых значений
    var addValues = [sendDate, userLogin, sendFio, sendOtdel, sendAge, sendPriority, sendGoal];
    
    // Расчет необходимого числа колонок
    var sheetsNames = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','R','S','T','U','V','W','X','Y','Z'];
    var sheetEnd = sheetsNames[addValues.length];

    // Формирование тела запроса
    var requestBody = {"range": sheetName+"!A1:"+sheetEnd+"1", "majorDimension": "ROWS", "values":[addValues,]};

    var exit = {'requestBodyJSON':JSON.stringify(requestBody), 'sheetEnd':sheetEnd};
exit;
""") +
//
// Получение временного токена для работы с гугл таблицей 
вызвать.внешнийСервис("https://denisk.autofaq.ai/gtoken","GET").сЗаголовками(("Content-Type", "application/json"),("charset", "utf-8")).сПараметрами(("email","{email}")).сохранитьРезультат(("message","message"),("token","token"),("status","status"))+
если("{http_code} > 210").то(
    комментарий("Сценарий не смог получить токен для работы с таблицей. Код {http_code}")+
    сообщениеПользователю.сШаблоном("Спасибо за участие, но что-то сломалось и я не смог сохранить результаты.")+    
    завершить
)+
если("{status} == error").то(
    комментарий("Сценарий не смог получить токен для работы с таблицей. {message}")+
    сообщениеПользователю.сШаблоном("Спасибо за опрос, но что-то сломалось и я не смог сохранить результаты.")+    
    завершить
)+
//
// Отправка данных в гугл таблицу
вызвать.внешнийСервис("https://sheets.googleapis.com/v4/spreadsheets/{sheetId}/values/{sheetName}!A1:{sheetEnd}1:append","POST").сПараметрами(("valueInputOption","USER_ENTERED")).сЗаголовками(("Authorization", "Bearer {token}"),("Content-Type","application/json")).сТеломСообщения("{requestBodyJSON}").сохранитьРезультатКакСтроку("result")+
если("{http_code} > 210").то(
    комментарий("Сценарий не смог отправить запрос на добавление строчки в гугл таблице. Код {http_code}, ответ {result}")+
    сообщениеПользователю.сШаблоном("Спасибо за участие, но что-то сломалось и я не могу связаться с центром.")+    
    завершить
)+
// Финальные отбивки и завершение сценария
комментарий("Добавил строчку в гугл таблицу.")+
сообщениеПользователю.сШаблоном("Все записал. Большое спасибо за участие!")+
завершить

Подключение к Gmail

  1. Пройдите по ссылке http://console.cloud.google.com/apis/library/gmail.googleapis.com

  2. Выберите ваш проект и включите доступ проекта в Google Sheets API

  • No labels