2015-05-08 19 views
5

Desidero chiamare una funzione personalizzata che ho scritto nel mio script di Google Apps. Quando eseguo un getJSON suppongo che eseguirà automaticamente doGet (e).Chiama una funzione GAS personalizzata dall'URL esterno

mio Javascript:

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

Esiste un possibile modo per chiamare una delle mie funzioni personalizzate per esempio

mio Google Apps Script:

function getNumberOfFans(e){ 
    //code here 
} 

devo aggiungere un po ' tipo di parametro funzione extra per il mio URL?

risposta

14
  • In un file Script di app "autonomo" aggiungere una funzione doGet(e).
  • Pubblica il file Script di app come app Web.
  • Ottieni l'URL pubblicato dell'app Web.
  • Aggiungere un parametro di stringa di ricerca alla fine dell'URL.

È possibile aggiungere parametri di stringa di ricerca all'URL dell'app Wep pubblicata.

Ecco un esempio:

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

La ricerca è alla fine dell'URL, dopo exec. È necessario aggiungere un punto interrogativo dopo exec e quindi name=value

Inserire l'argomento dell'evento (indicato dalla lettera "e") nella funzione doGet(e), non la funzione che si desidera utilizzare.

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. Continuerete ad usare e.parameter per accedere ai dati inviati, ma qualunque cosa sia in e.parameter sarà un oggetto con coppie chiave/valore. Avrai bisogno di sapere quale sia il nome della chiave (proprietà) che è stato inviato nell'oggetto.

Per una spiegazione sulla URL parametri, vedere questa documentazione:

URL Parameters

+0

risposta molto chiara! Grazie – Rover

+1

Bello - Lo sto favorendo! – Mogsdad

Problemi correlati