从 Google Sheets API v4 调用 Google Spreadsheets Apps Script 函数

call a Google Spreadsheets Apps Script function from Google Sheets API v4

我有一个 Spreadsheet 绑定了一些 Apps Script 函数。

我还有一个 Android 客户端使用 Google Sheets API v4 与该电子表格进行交互。

有没有办法让 Android 客户端在 Apps Script 代码中 call/run 某些功能?

我需要在 Apps Script 端编码为 运行 的原因,而不仅仅是在 Android 客户端,是因为我在发生某些事情时发送一些电子邮件到文档,我希望电子邮件从电子表格的所有者帐户发送,而不是从通过 API.

验证的 Android 用户发送

我知道我可以通过向文档添加行来隐式触发函数,但是有没有办法直接 运行 特定函数?

是的。你可以GET and POST requests to Google apps-scripts. from anywhere that can make REST type calls including clients. If you need authentication there is also the apps-script client libraries. I wrote a short script for emailing from a request from one apps-script to another 。但是,如果您也从您的客户调用电子邮件脚本,它会起作用。

将您的 Google Apps 脚本部署为 Web 应用 > reference,这样您就可以 运行 函数 Get(e)Post(e) 并根据条件调用其中一个函数中的其他函数....

您可能已经找到了问题的答案。以防万一,以下几点可能对您的开发有所帮助:

1) 像往常一样创建服务器端脚本(即 Google Apps 脚本)函数:

function myFunction(inputVar) {
// do something
return returnVar;
}

2) 创建一个 doGet(e) 或 doPost(e) 函数,如下所示 - 可以与 1) 中的函数在同一个 .gs 文件中:

function doGet(e) {

    var returnVar = "";
    if (e.parameter.par1 != null) {
        var inputVar = e.parameter.par1;
        returnVar = myFunction(inputVar);
    }

    return HtmlService.createHtmlOutput(returnVar);

}

3) 将您的项目发布并部署为 webapp。注意已部署的 URL。

4) 从您的 Android 客户端使用 URL 作为 HTTP 调用:your_webapp_url?par1="input value"