Итак, первая часть - это Catch Raw Hook
для триггера.Это обычные "Webhooks", но вы должны нажать, чтобы показать менее распространенные варианты.С Catch Raw Hook ваши данные не будут автоматически превращаться в переменные через приложение Zapier, у вас будут необработанные данные JSON.
Как только у вас будет сырой JSON, в моем случае у вас будет действие, и это будет действие «Код».Я использую JavaScript.В моем шаблоне я собираю всю строку JSON (весь импортированный вами JSON сейчас является строкой, а не объектом, поэтому мы не можем использовать нотацию «. » (точка) для доступа к частямЭто).
Вам понадобится JSON.parse()
строка в коде.Но сначала позвольте мне объяснить, что у Zapier есть предопределенная переменная с именем inputData
, которую вы будете использовать в своем коде.Затем в верхней части раздела «Редактировать шаблон» вашего «Кода» Действие вы увидите, что вы можете назвать переменную той строки JSON, которую вы импортировали.
Теперь самое интересное!В коде вы наберете:
// of course, you can change the variables to what you want
// but 'inputData' is unique, can't change that
const myData = JSON.parse(inputData.rawJsonData);
Итак, мои необработанные данные - это строка, это еще не JSON, поэтому эта строка кода делает его объектом JSON.И теперь, как объект, мы можем зацикливаться на нем или .map, или обращаться к this.that или к чему угодно.
Следующая важная вещь, о которой стоит упомянуть о «Коде» в Zapier, это то, что вы получаете свои вещи, вы return
.Итак, в следующих нескольких строках я собираюсь вернуть функцию .map
, которая возвращает каждый элемент в массиве.И трудно понять, как Zapier относится к этому, но на самом деле он запускает следующее «действие», которое вы создаете (например, добавляете строку в лист) для каждого цикла в этом .map.Итак, давайте посмотрим ниже:
return myData.data.map(item => {
return item;
});
Если вы помните, у меня в массиве JSON был массив "data", который я перечислил в исходном вопросе.Он будет зацикливаться на этом массиве, и, так как я return
ing, то он будет выполнять «Добавить строку в лист» (в моем случае) для каждого цикла, таким образом, вставляя все мои данные в виде нескольких строк в моей электронной таблице.
Итак, готовый код:
const myData = JSON.parse(inputData.rawJsonData);
return myData.data.map(item => {
return item;
});