/ / Impedisci l'invio di dati duplicati utilizzando GET - google-apps-script

Impedisci l'invio di dati duplicati utilizzando GET - google-apps-script

Ho creato un modulo personalizzato che invia tutti i suoi dati aFoglio di calcolo di Google tramite un semplice script di Google utilizzando il metodo GET. Dopo aver inviato il modulo, mostro una pagina di ringraziamento ospitata su GS e chiamata tramite HtmlService. L'URL di questa pagina ha tutti i valori del modulo e, se aggiorno la pagina di ringraziamento, ottengo dati duplicati sul mio foglio di calcolo, il che è un disastro.

Ho provato diversi metodi per impostare un timer sureindirizzare a una pagina diversa dopo 5 secondi senza successo. Qualcosa sta bloccando la mia sceneggiatura. (So ​​che funziona perché posso mostrare un avviso, ma non reindirizzare automaticamente la pagina).

C'è qualche opzione per impedire a dati duplicati diessere inviato al foglio di calcolo? Non mi interessa se sta impostando un timeout nella pagina di ringraziamento (che DOVREBBE essere relativamente semplice), o usando un token univoco per ogni invio.

Grazie.

risposte:

0 per risposta № 1

Il vero problema è che hai una pagina htmlche invia i dati al gas facendo in modo che l'utente faccia clic su un collegamento o reindirizza. Invece devi chiamare gas con ajax get e il tuo html (non gas) mostra la pagina di ringraziamento.


0 per risposta № 2

Dati del genere dovrebbero essere inviati con un POST, non con un GET.

Prova a usare doPost (e) invece di doGet () nello script pubblicato e pubblica i dati su di esso.


0 per risposta № 3

Se l'aggiornamento della pagina "Grazie" invia nuovamente i dati al foglio di calcolo e alla pagina Grazie

l'URL della pagina contiene tutti i valori del modulo

, quindi in qualche modo hai combinato la richiesta GETe la pubblicazione della pagina di ringraziamento. Questo deve essere separato. Devi pubblicare la pagina di ringraziamento senza inserire i valori del modulo nell'URL. Anche se la pagina di ringraziamento non contiene alcun dato e non contiene un modulo, se l'URL attiva un'altra richiesta, i dati verranno nuovamente inviati.