将firebase数据库值导入googlesheet

时间:2018-02-06 17:18:54

标签: firebase firebase-realtime-database google-sheets-api

我有一个使用firebase数据库存储数据的项目,我的firebase数据库表的结构如下:

table_name
   | abc12345677890xxxxxxxxx
       | key_namea: 45852
       | key_nameb: "string characters"
       | key_namec: 45852
       | key_named: "string characters"
       | key_named: "string characters"
       | secondleveldeep
          | key_name: value
          | key_name: value

我查看了googlesheet api并想出了一个能够获取数据但每次遇到以下错误的函数

"错误:我们很抱歉,发生了服务器错误。请稍等一下再试一次。 (第272行,文件"代码",项目"

function getData() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('sheet1');
  var range = sheet.getRange(1,1,5000,1); // unclear about this
  var data = getFirebaseBase('table_name');
  Logger.log(data);
  range.setValues(JSON.parse(data));  
}

function getFirebaseBase (data) {
  var firebaseUrl  = 'https:xxx.firebaseio.com';
  var secret = 'abcXXXX...';
  var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
  var result = base.getData(data);
  return result;
}

有没有人成功地将数据从firebase导入googlesheet(没有兴趣在反面),如果是这样的话,请你能解释一下我错过了什么或做得不对。

1 个答案:

答案 0 :(得分:1)

您可以使用Cloud Functions database trigger对数据库进行每次更改,实时更新电子表格。

这是一个有点参与的设置过程,但您可以在tweet with an animated GIF中看到这一点。

点击查看this gist以获取说明和源代码。此示例是一个简单的简单示例,您可能希望将其扩展到特定用例。

如果您对此感兴趣,也可以go the other direction