从Google表格API v4调用Google Spreadsheets Apps脚本功能

时间:2017-12-28 20:58:32

标签: android google-apps-script google-sheets-api

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

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

Android客户端是否有办法在Apps Script代码中调用/运行某些功能?

我需要在Apps Script方面运行代码的原因,而不仅仅是Android客户端上运行的原因,是因为我在发布文档时发送了一些电子邮件,我希望电子邮件是从电子表格的所有者帐户发送的,而不是通过API验证的Android用户发送的。

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

3 个答案:

答案 0 :(得分:1)

是。您可以将GET and POST requests设置为Google应用脚本。从任何可以进行REST类型调用的地方,包括客户端。如果您需要身份验证,还有apps-script client libraries.我编写了一个简短的脚本,用于通过电子邮件将请求从一个应用程序脚本发送到另一个应用程序脚本here。但是,如果您也从客户端调用了电子邮件脚本,它也会起作用。

答案 1 :(得分:1)

将您的Google Apps脚本部署为网络应用> reference,通过这种方式,您可以运行函数获取(e)发布(e),并在其中一个条件中调用其他函数....

答案 2 :(得分:1)

您可能已经得到了问题的答案。如果你没有,下面是一些可能有助于你的发展的要点:

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客户端执行HTTP调用,其URL为:your_webapp_url?par1 =“input value”