Chiama una funzione GAS personalizzata da un URL esterno

Voglio chiamare una funzione personalizzata che ho scritto nel mio script di Google Apps. Quando eseguo un getJSON suppongo che eseguirà automaticamente doGet (e).

Il mio Javascript:

$.getJSON(https://script.google.com/macros/s/[ID]/exec, function(data){ //code here }); 

C’è un modo ansible per chiamare una delle mie funzioni personalizzate, ad esempio

Il mio script di Google Apps:

 function getNumberOfFans(e){ //code here } 

Devo aggiungere qualche tipo di parametro di funzione extra al mio URL?

  • In un file Script di app “stand alone” aggiungere una funzione doGet(e) .
  • Pubblica il file Script di app come app Web.
  • Ottieni l’URL pubblicato dell’app Web.
  • Aggiungi un parametro di stringa di ricerca alla fine dell’URL.

È ansible aggiungere parametri della stringa di ricerca all’URL dell’app Wep pubblicata.

Ecco un esempio:

 https://script.google.com/macros/s/[ID]/exec?searchStringName=functionOne 

La stringa di ricerca si trova alla fine dell’URL, dopo exec . È necessario aggiungere un punto interrogativo dopo exec e quindi name=value

Metti l’argomento dell’evento (indicato dalla lettera “e”) nella funzione doGet(e) , non la funzione che vuoi usare.

 function doGet(e) { var passedString,whatToReturn; passedString = e.parameter.searchStringName; if (passedString === 'functionOne') { whatToReturn = functionOne(); //Run function One }; return ContentService.createTextOutput(whatToReturn); }; function functionOne() { var something; //. . . . Code; something = code here; return something; }; 

Il codice sopra riportato è per una richiesta GET. Se si desidera utilizzare una richiesta POST, non utilizzare una stringa di ricerca nell’URL. Per una richiesta POST, invierai informazioni nel payload. Continuerai a utilizzare e.parameter per accedere ai dati inviati, ma qualunque cosa sia in e.parameter sarà un object con coppie chiave / valore. Avrai bisogno di sapere quale sia il nome della chiave (proprietà) che è stato inviato nell’object.

Per una spiegazione sui parametri URL, consultare questa documentazione:

Parametri URL