Llamar a una función personalizada de GAS desde una URL externa

Quiero llamar a una función personalizada que escribí en mi Google Apps Script. Cuando ejecuto un getJSON, supongo que ejecutará automáticamente mi doGet (e).

Mi Javascript

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

¿Hay una manera posible de llamar a una de mis funciones personalizadas, por ejemplo?

Mi script de Google Apps:

 function getNumberOfFans(e){ //code here } 

¿Debo agregar algún tipo de parámetro de función extra a mi URL?

  • En un archivo Apps Script “independiente”, agregue una función doGet(e) .
  • Publique el archivo Apps Script como una aplicación web.
  • Obtenga la URL publicada de la aplicación web.
  • Agregue un parámetro de cadena de búsqueda al final de la URL.

Puede agregar parámetros de cadena de búsqueda a la URL de la aplicación Wep publicada.

Aquí hay un ejemplo:

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

La cadena de búsqueda se encuentra al final de la URL, después de la exec . Debe agregar un signo de interrogación después de exec y luego name=value

Coloque el argumento de evento (indicado por la letra “e”) en la función doGet(e) , no la función que desea utilizar.

 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; }; 

El código anterior es para una solicitud GET. Si desea utilizar una solicitud POST, no use una cadena de búsqueda en la URL. Para una solicitud POST, enviará información en la carga útil. e.parameter usando e.parameter para acceder a los datos enviados, pero lo que esté en e.parameter será un objeto con pares clave / valor. Tendrá que saber cuál es el nombre de la clave (propiedad) que se envió en el objeto.

Para obtener una explicación sobre los parámetros de URL, consulte esta documentación:

Parámetros de URL