首页 > 解决方案 > 如何将 Google App Script 部署到 GCP 上的 API 服务器?

问题描述

我正在使用 Google App Script(GAS 代码)从客户端获取 json 数据并导出到 pdf 文件。它工作得很好,现在我想将我的 GAS 代码部署到 GCP 以接收 json 数据并返回 pdf 文件。

我希望我可以构建一个简单的 HTTP 服务器来接收 json 并通过 Google App Script 做一些逻辑并将结果返回给客户端。

我已经按照本教程将 GAS 代码连接到标准 GCP 项目

这是我的谷歌应用脚​​本代码:

function fetchData() {
  var jsonData = JSON.parse(inputJson);
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

  var dataLen = jsonData.data.length;
  sheet.getRange(7, 1, dataLen, 3).clear();
  sheet.getRange(7, 1, dataLen, 3).setValues(jsonData.data);
}

这是我的 json 输入:

"data": [
    ["col1", "col2", "col3"],
    ["col1", "col2", "col3"],
    ["col1", "col2", "col3"],
    ["col1", "col2", "col3"]
]

如何构建与 Google App Script 连接的服务器以接收该 json(来自 Postman ...)?

欢迎任何建议!!!

标签: google-apps-scriptgoogle-cloud-platform

解决方案


  • 您想创建一个 HTTP 服务器。
  • 您想提供 JSON 数据并从服务器检索输出结果。
  • 您想使用 Google Apps 脚本。

为了实现上述情况,我想建议使用Web Apps。实现流程如下。

  1. 使用 Google Apps 脚本创建脚本。
  2. 将脚本部署为 Web 应用程序。
    • 在这种情况下,您可以对 Web 应用程序使用 GET 和/或 POST 方法。如果 JSON 数据很大,我建议使用 POST 方法。
  3. 请求包含 JSON 数据的 Web 应用的端点。
    • 通过这种方式,Web Apps 获取 JSON 数据并对其进行处理,然后返回结果。

通过上述流程,您可以在客户端检索处理后的结果。

笔记:

  • 当您使用 Web Apps 时,如果您修改了 Google Apps 脚本,请重新部署 Web Apps 作为新版本。这样,最新的脚本就会反映到 Web 应用程序中。请注意这一点。

  • 遗憾的是,在现阶段,Web Apps 可以使用 GET 和 POST 方法,而不能使用 PATCH、PUT 和 DELETE 方法。

参考:


推荐阅读