可以使用Google电子表格中的外部API调用吗?

时间:2014-10-09 11:36:28

标签: google-sheets spreadsheet google-spreadsheet-api

我创建了一个包含五列的Google电子表格;

用户填写前三列中的值后,必须调用第三方API并填写第四和第五列中的值(响应)。

是否可以在Google电子表格中编写代码以进行API调用? 是否可以在Google电子表格中调用并获取外部API的响应?

3 个答案:

答案 0 :(得分:8)

有一种方法可以进行API调用并将结果放到电子表格中 - 我知道这样做的唯一方法是创建/打开目标电子表格,转到工具,然后编写脚本编辑器,并将其用作绑定脚本:

nullException

它需要一点接口工作但功能!它从API调用中获取信息并将其放入电子表格中。

答案 1 :(得分:1)

有一些 Google 表格插件可以帮助您使用 API,而无需编写自定义代码。

其中之一是 Powersheets,它提供特殊公式来调用工作表中的 API。

Powersheets 的 API 公式接受 API GET 端点的 url 作为第一个参数。

= API( "https://api.spacexdata.com/v4/company" )

This 是最终结果的样子。

免责声明:我是 Powersheets 的作者。

答案 2 :(得分:0)

我最近遇到了相同的要求,即读取工作表的行并在请求中发送数据并记录响应。我想我会分享谷歌搜索后的作品...

function testing_this() {
    var data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
    for (row in data) {
        Logger.log(data[row]);   

        var row = data[row]
        var options = {
            'method': 'post',
            'payload': { email:row[1]}
        };
        // sending to API. for example: 
        UrlFetchApp.fetch('https://your-rest-api-url/v1/customers/', options);
    }
}

如果您想获取表格中的数据,您应该使用以下功能:

var response = UrlFetchApp.getRequest("http://your-api-url/");
    for(data in response) {
        var respData = response[data];
        // do whatever u want to do with this data...
    }

希望对所有面临类似要求的人都有用。

如果你想分叉/拉动,我已经在github上发布了这个脚本......

https://github.com/joshiparthin/gsheetScriptExperiments/blob/master/readAndSendToApi.js

干杯,

PARTH