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

Google apps script 如何获取传递给Google Apps脚本doGet(e)的URL字符串参数,google-apps-script,Google Apps Script,给定此URL: https://script.google.com/macros/s/MacroName/dev?theArg="69.28.15.332" 最重要的部分在最后: ?theArg="69.28.15.332" 我正在尝试将信息传递到URL中的应用程序脚本。 为什么我的.gs谷歌应用脚本函数不能获取URL末尾字符串的值?这是doGet(e)功能 function doGet(e){ var passedInIP = e.parameter.theArg; Logger.

给定此URL:

https://script.google.com/macros/s/MacroName/dev?theArg="69.28.15.332"
最重要的部分在最后:

?theArg="69.28.15.332"
我正在尝试将信息传递到URL中的应用程序脚本。 为什么我的
.gs
谷歌应用脚本函数不能获取URL末尾字符串的值?这是
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>")
  }
};
函数doGet(e){
var passedip=e.parameter.theArg;
Logger.log(passedip);
如果(通过IP==“69.28.15.332”)
{
返回HtmlService.createHtmlOutput(“某物”)
}
};
我在浏览器中打印了此错误消息:

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

Logger.log
确实记录了一些事情。它记录了
[Date-Time-EDT]“69.28.15.332”
,并且日志中的值与我正在检查的值完全相同。但是相等性测试失败。

参数“按原样”通过,您可以使用如下代码进行测试:

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)
}; 
函数doGet(e){
var passedip=e.parameter.theArg;
Logger.log(passedip);
如果(通过IP==“69.28.15.332”)
{
返回HtmlService.createHtmlOutput(“某物”)
}
返回HtmlService.createHtmlOutput(passedIP)
}; 
这将返回
“69.28.15.332”
,包括引号

因此,您有两种选择:

  • 删除url中的引号
  • 在条件中添加引号,如“69.28.15.332”(单引号+引号)
  • 我会选择第一个,但没有充分的理由;-)