使用Google Apps脚本从Firebase读取数据

J14*_*148 6 google-sheets google-apps-script firebase

因此,正如标题所示,我目前正在研究一个相当棘手的问题.这是场景.

我有一个包含名称,电子邮件和到期日期模板的Google电子表格.但是,它不包含实际数据.数据本身位于Firebase中,并且不断变化.那么,我的目标是允许script.gs附加到我的电子表格的文件从Firebase读取,或者通过定时间隔或使用Firebase的典型dataRef.on('value',function(){});.

我已经尝试过使用网络应用程序了,但是Caja会对Firebase的代码进行分解,为了使用Firebase对象,您必须拥有该代码.我尝试将Firebase脚本包含为库,然后将其直接复制到script.gs.没有任何效果.

我相信我的问题很大程度上源于gs环境,即服务器.但是,cURL放入时似乎不起作用script.gs.无论如何,希望你们其中一个人有答案.如果您需要进一步说明,请与我们联系.

Ala*_*lls 8

我将Firebase与Google Apps脚本一起使用.您需要使用Google的urlFetch. Google文档

代码示例:获取数据

var optList = {"method" : "get"};
var recordName = "theUserID";

var rsltList = UrlFetchApp.fetch("https://yourFireBaseDB_name.firebaseio.com/" +
recordName + "/.json", optList );
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,向firebase 发出GET请求.您想要数据的数据库必须包含在URL中.网址必须以/.json.结尾.您的数据库结构反映在URL中.在上面的示例中,数据库对每个用户ID具有不同的记录,并且用户ID被放入URL中.

UrlFetchApp.fetch()方法可以有一个或两个参数.

fetch(url, params)
Run Code Online (Sandbox Code Playgroud)

获取文档

您需要使用高级参数来指定要发送的请求类型:例如:PUT,GET.注意:您不能直接指定PATCH请求UrlFetchApp.fetch,但可以在标头中放置一个覆盖来发送PATCH请求.

使用PATCH请求更安全.

如果您决定使用Firebase写入数据UrlFetchApp.fetch,则最好知道如果未正确配置URL ,使用PUT请求可以覆盖并清除所有数据.

在上面的示例中,返回的数据被放入变量中: rsltList

fetch方法的第二个参数是一个对象. {"method" : "get"}

对象是一key:value对.