Integratsioonid
Saada vormivastused Google Sheetsi
YeetFormil pole täna natiivset Google Sheetsi sünkroonimist, kuid saad sama tulemuse - ühe tabeli rea vastuse kohta, automaatselt lisatuna - väikese Google Apps Scripti ja veebihaagiga. See leht käib läbi täpse skripti (umbes 15 rida), kuidas see veebirakendusena kasutusele võtta ja kuidas suunata YeetFormi veebihaak tekkinud URL-ile. See võtab paar minutit ega vaja oma serverit.
Seadistus
Lisa veebihaagi integratsioon
Google Sheetsil pole natiivset YeetFormi ühendust, seega on sild veebihaak: lisa vormi Integratsioonide vahekaardile Webhooks-lõpp-punkt, mis osutab Google Apps Scripti veebirakenduse URL-ile.
Loo Apps Script
Ava oma sihttabelis Laiendused → Apps Script, kleebi allolev skript ja juuruta see veebirakendusena (Käivita kui: Mina, Kellel on juurdepääs: Kõik, kellel on link). Kasuta juurutuse URL-i oma veebihaagi lõpp-punktina.
function doPost(e) {
var payload = JSON.parse(e.postData.contents);
if (payload.event !== "response.created") return ContentService.createTextOutput("ignored");
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var labels = {};
(payload.fields || []).forEach(function (f) { labels[f.id] = f.label; });
var row = [payload.response_id, payload.submitted_at];
Object.keys(payload.answers).forEach(function (id) {
row.push(labels[id] || id, payload.answers[id]);
});
sheet.appendRow(row);
return ContentService.createTextOutput("ok");
}Juuruta ja hangi URL
Juurutamine loob URL-i kujul https://script.google.com/macros/s/.../exec - kleebi see sammu 1 YeetFormi veebihaagi väljale.
Saada testvastus
Esita vorm (või kasuta veebihaagi integratsiooni testinuppu) ja kontrolli, et uus rida ilmub tabelisse vastustega õiges järjekorras.
Hoia tabel ja vorm sünkroonis
Kui lisad või eemaldad hiljem vormi välju, uuenda skripti veerukaardistust - see loeb vastuseid välja ID, mitte asukoha järgi, nii et see ei nihuta olemasolevaid veerge vaikselt, kuid uued väljad vajavad skriptis uut rida.
Vihjed
- →Kasuta vastuse response_id't tabelis dubleerimise vältimiseks (nt jäta rea lisamine vahele, kui selle id-ga rida juba eksisteerib), kuna uuesti proovitud veebihaagi edastus saadab sama vastuse uuesti.
- →Kaardista veerud payload.fields-massiivist (id → label), selle asemel et kõvasti kodeerida välja ID-sid, nii et skript talub väljade ümbernimetamist või -järjestamist.
- →See on veebihaagi retsept, mitte natiivne integratsioon - kui Apps Scripti kvoot või su konto teeb probleeme, lakkavad read vaikselt ilmumast; kontrolli vormi Integratsioonide vahekaardilt edastuse olekut, mitte ainult tabelit.