如何获取传递给Google Apps脚本的URL字符串参数doGet(e)

时间:2014-03-10 02:42:47

标签: google-apps-script

鉴于此URL:

https://script.google.com/macros/s/MacroName/dev?theArg="69.28.15.332"

最重要的部分是:

?theArg="69.28.15.332"

我正在尝试将信息传递到网址中的Apps脚本。 为什么我的.gs Google Apps脚本功能无法获取网址末尾字符串的值?这是doGet(e)函数。

function doGet(e){
  var passedInIP = e.parameter.theArg;
  Logger.log(passedInIP);

  if (passedInIP === "69.28.15.332") 
  {
    return HtmlService.createHtmlOutput("<h2>something</h2>")
  }
};

我在浏览器中打印出错误信息:

  

脚本已完成但未返回任何内容

Logger.log会记录某些内容。它记录[Date Time EDT] "69.28.15.332",并且日志中的值与我正在检查的值完全相同。但是平等测试失败了。

1 个答案:

答案 0 :(得分:17)

参数“按原样”传递,您可以使用如下代码测试它:

function doGet(e){
  var passedInIP = e.parameter.theArg;
  Logger.log(passedInIP);

  if (passedInIP == "69.28.15.332") 
  {
    return HtmlService.createHtmlOutput("<h2>something</h2>")
  }
    return HtmlService.createHtmlOutput(passedInIP)
}; 

这将返回"69.28.15.332",包括引号...

所以你有2种可供选择的选择:

  1. 删除网址中的引号
  2. 在您的条件中添加引号,如“69.28.15.332”'(单引号+引号)
  3. 我会选择第一个但没有充分理由; - )