从外部URL调用定制的GASfunction

我想调用我在Google Apps脚本中编写的自定义函数。 当我执行一个getJSON,我想它会自动运行我的doGet(e)。

我的Javascript:

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

例如有没有一种可能的方式来调用我的自定义函数之一

我的Google Apps脚本:

 function getNumberOfFans(e){ //code here } 

我必须添加一些额外的function参数到我的url?

您可以将searchstring参数添加到使用Apps脚本创build的发布的Wep App的URL中。

将searchstring添加到已发布的Web App URL:

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

searchstring位于URL的末尾,在exec之后。 你必须在exec后添加一个问号,然后name=value

将事件参数(用字母“e”表示)放入doGet(e)函数中,而不是您想要使用的函数。

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

上面的代码是针对GET请求的。 如果您想使用POST请求,请不要在URL中使用searchstring。 对于POST请求,您将在有效负载中发送信息。 你仍然会使用e.parameter来访问发送的数据,但是e.parameter任何东西都将是一个包含键/值对的对象。 您需要知道在对象中发送的密钥(属性)名称是什么。

有关URL参数的说明,请参阅此文档:

url参数