【问题标题】:Parameterizing a script in an URL参数化 URL 中的脚本
【发布时间】:2014-12-25 05:48:16
【问题描述】:

我正在为电子表格编写一个 Google 脚本,在将其部署为网络应用程序后,您会得到一个 URL (https://script.google.com/macros/s/.../dev)。

我想在 URL 中传递一个输入参数(例如 (https://script.google.com/macros/s/.../dev/param)。

如何在脚本中获取此参数的值?

【问题讨论】:

  • 要在 JS 中获取当前 url,您可以使用 document.URL google 是否允许您添加额外的参数并且仍然直接指向您的脚本?
  • DocumentApp.getActiveDocument().getUrl() 会返回 URL,但由于某种原因这不起作用,所以我无法尝试使用额外的参数。
  • 只是为了让我的观点更清楚:我正在使用可部署的脚本,我正在尝试做的是在 doGet() 函数的范围内。
  • 啊你的脚本是沙盒的吗?之前没有在谷歌电子表格上使用过 js
  • 实际只是阅读此stackoverflow.com/a/14132977/2737978,其中指出您无法从该网址获取任何有用信息

标签: google-apps-script


【解决方案1】:

您可以在部署的 webapp url 的末尾添加一个字符串,只需插入一个问号并用 & 分隔参数。

示例:

the .dev     https://script.google.com/macros/s/AKfycb___vWxs/dev?val=test&otherVal=otherTest

the .exec    https://script.google.com/macros/s/AKfycb___vWxs/exec?val=test&otherVal=otherTest

演示代码:

function doGet(e) {
  var valToReturn = ContentService.createTextOutput('the parameters were '+e.parameter.val+'\nand\n'+e.parameter.otherVal).setMimeType(ContentService.MimeType.TEXT);
  return valToReturn;
}

您将在浏览器中获得这两个参数值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-21
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 2012-04-01
    • 2018-08-06
    相关资源
    最近更新 更多