在 Google Apps 脚本中,在 Web App 的基础 url 之后使用 path/slug

Use path/slug after Web App's base url in Google Apps Script

我希望通过在 Google Apps 脚本中添加如下所示的路径来创建 url:

https://script.google.com/macros/s/APP_ID/exec/fileName.txt

如何为 Web 应用程序服务实现此目的?

我相信你的目标如下。

  • 您想使用 https://script.google.com/macros/s/APP_ID/exec/fileName.txt 的 URL 访问 Web 应用程序。

为此,这个答案怎么样?我认为您可以使用 Web 应用程序实现您的目标。作为一个示例案例,当用户访问 https://script.google.com/macros/s/APP_ID/exec/fileName.txt.

时,我想使用用于下载文本文件的示例脚本来解释这一点

用法:

请执行以下流程。

1。创建 Google Apps 脚本的新项目。

Web 应用程序的示例脚本是 Google 应用程序脚本。所以请创建一个 Google Apps 脚本的项目。

如果想直接创建,请访问https://script.new/。在这种情况下,如果您未登录 Google,则会打开登录屏幕。所以请登录Google。这样,Google Apps Script 的脚本编辑器就打开了。

2。准备脚本。

请将以下脚本(Google Apps 脚本)复制并粘贴到脚本编辑器中。此脚本用于 Web 应用程序。

function doGet(e) {
  const path = e.pathInfo;
  if (path == "filename.txt") {
    const sampleTextData = "sample";
    return ContentService.createTextOutput(sampleTextData).downloadAsFile(path);
  }
  return ContentService.createTextOutput("Wrong path.");
}
  • 为了在https://script.google.com/macros/s/APP_ID/exec/fileName.txt中检索fileName.txt的值,请使用pathInfo
    • 例如,当您通过 https://script.google.com/macros/s/APP_ID/exec/fileName.txt 访问 e of doGet(e) 时,您可以检索 {"contextPath":"","contentLength":-1,"parameter":{},"parameters":{},"queryString":"","pathInfo":"fileName.txt"}.
  • 本例中使用的是GET方式

3。部署 Web 应用程序。

  1. 在脚本编辑器上,通过"Publish" -> "Deploy as web app"打开一个对话框。
  2. Select "Me" 对于 "Execute the app as:"
    • 至此,脚本运行作为所有者。
  3. Select "Anyone, even anonymous" 对于 "Who has access to the app:"
    • 在这种情况下,请求不需要访问令牌。我想我推荐这个设置来实现你的目标。
    • 当然你也可以使用access token。届时请设置为"Anyone"。并且请将 https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive 的范围包含在访问令牌中。这些范围是访问 Web 应用程序所必需的。
  4. 单击 "Deploy" 按钮作为新按钮 "Project version"。
  5. 自动打开"Authorization required"的对话框。
    1. 点击"Review Permissions"。
    2. Select自己的账号。
    3. 在 "This app isn't verified" 单击 "Advanced"。
    4. 点击"Go to ### project name ###(unsafe)"
    5. 单击 "Allow" 按钮。
  6. 单击"OK"。
  7. 复制 Web 应用程序的 URL。就像 https://script.google.com/macros/s/###/exec
    • 当您修改 Google Apps 脚本时,请重新部署为新版本。这样,修改后的脚本就会反映到 Web 应用程序中。请注意这一点。

4。 运行 使用 Web Apps 的功能。

请使用您的浏览器访问 https://script.google.com/macros/s/###/exec/filename.txt。这样,一个文本文件就下载好了。

注:

  • 当您修改了Web Apps的脚本后,请将Web Apps重新部署为新版本。由此,最新的脚本被反​​映到Web Apps。请注意这一点。

参考文献: