从外部URL调用自定义GAS功能

时间:2015-05-08 14:52:28

标签: function url google-apps-script call

我想调用我在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
}

我是否必须在网址中添加某种额外的功能参数?

1 个答案:

答案 0 :(得分:19)

  • 在一个独立的" Apps脚本文件添加https://script.google.com/macros/s/[ID]/exec?searchStringName=functionOne 功能。
  • 将Apps脚本文件发布为Web App。
  • 获取Web App的已发布URL。
  • 将搜索字符串参数添加到URL的末尾。

您可以将搜索字符串参数添加到已发布的Wep App的URL中。

以下是一个例子:

exec

搜索字符串位于exec之后的网址末尾。您必须在name=value之后添加问号,然后再添加doGet(e)

将事件参数(由字母" 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; }; 函数,而不是您想要使用的函数。

e.parameter

以上代码用于GET请求。如果您想使用POST请求,请不要在URL中使用搜索字符串。对于POST请求,您将在有效负载中发送信息。您仍然会使用e.parameter来访问发送的数据,但{{1}}中的任何内容都将是具有键/值对的对象。您需要知道对象中发送的密钥(属性)名称是什么。

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

URL Parameters