Настройка автоматической выгрузки в Google-таблицы

Задан 1 год назад
Просмотрен 1558 раз
1

Заказчик хочет выгружать данные о новых клиентах в Гугл таблицы, чтобы менеджеры там уже работали с информацией. Есть такая возможность?

интеграции
API
пользователи
Сделаем GetOverflow лучше!
Проголосуйте 🔼 за полезные или 🔽 за бесполезные ответы.
4 ответа
0

Можно попробовать, например, через Albato, но это лишние настройки и процессы. Проще понять, почему заказчик хочет работать именно так? У Геткурса своя crm, можно менеджеров добавить именно для работы с заказами/клиентами, дать им нужные права - тогда и история всех действий будет в аккаунте храниться, проще статистику смотреть и отслеживать работу менеджеров в целом

0

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

в остальном, можно через процесс и операцию "вызвать url" передать данные в гугл-форму, а оттуда будет передаваться в таблицу

либо, как уже советовали выше, через коннекторы: альбато, вакас, апикс, мейк

11

Возможность есть.

  1. Определяетесь, какие данные надо выгружать, делаете списочек из своих потребностей
  2. В гугл таблице нажимаете "расширения", там "App Script"
  3. Вставляете функцию сбора данных с листа
function getSheetData()  { 
  var ss= SpreadsheetApp.getActiveSpreadsheet();
  var dataSheet = ss.getSheetByName('DATA'); 
  var dataRange = dataSheet.getDataRange();
  var dataValues = dataRange.getValues();  
  return dataValues;
}

Тут вместо DATA вставляете имя листа своей таблицы или переименовываете лист в это слово Теперь напишем функцию принятия гет запроса.

let sheet = '12P4eVmyeMxl-tLMLr2qSoapbRa1WcPTJ33yALmaU4_M'
 function doGet(event = {}) {
  var ss= SpreadsheetApp.openById(sheet).getActiveSheet();
   var content = getSheetData();
  var lastRow = content.length+1;
    if (event.queryString.length>0) {  
var type = event.parameter.type;
//собираете поля по гет параметрам, например
//var name = event.parameter.name;
//var mail = event.parameter.mail;

if (type=='add') {
	//определяем позицию для вставки
 let pos1 = 'A'+ lastRow;
 let pos2 = pos1.replace('A','B')
 // вставляем свои данные с гетпараметров
//ss.getRange(pos1).setValue(name);
//ss.getRange(pos2).setValue(mail)
  
}
   }
 
}

Для примера я взял гет параметры name и email вы можете составить другие. В переменной sheet содержится айди таблички, который можно взять из адресной строки. Замените на свой.

Теперь нам нужно составить вызов пополнения таблички на стороне геткурса. Создайте процесс по нужным вам условиям, там сделайте блок "вызов URL" и вставьте адрес типа {macros}?type=add&{variables}

{macros} — это макрос таблицы. Чтобы его получить, находясь в App Script нажмите "начать развертывание", выберите веб-приложение и просто соглашайтесь на все, сделав настройки доступа "у всех". Вам даст ссылку вида https://scrip.google.../exec, это макрос и есть

{variables} — это составленные по https://getcourse.ru/blog/275857 инструкции переменные гк

Итого у вас должно получиться что-то типа

https://script.google.com/macros/s/AKfycbwE_RunPPgxwXYXnXoxpLaRTK4o8dfB0kSW6B-vPX_xdqvlcijyOav-8h0qaI4MY5Yd/exec?type=add&name={object.user.first_name}&mail={object.user.email}

Код с примера при вызове по заказам будет сохранять в табличку имя и почту юзера

Ваш ответ