【问题标题】:Auto sync data from firebase to google sheets自动将数据从 Firebase 同步到 Google 表格
【发布时间】:2020-07-21 11:15:04
【问题描述】:

每次在我的 RealtimeDB 中进行更改时,我都需要在不按任何按钮的情况下将这些数据获取到我的 Google 表格中。如何做到这一点?

PS。下面的代码完全符合我提到的但不是自动的

function getData() {
var firebaseUrl = "https://databse.firebaseio.com/Items";
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl);
var data = base.getData();

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");

var num = 2;
range = sheet.getRange("A"+num+":D"+num+"");
  
var range2 = sheet.getRange("A2:D");
range2.clearContent();

  
for(var i in data) {
  var values = [
  [ data[i].itemname, data[i].itembarcode, data[i].itemprice]
  ];
  range.setValues(values);
  num += 1;
  range = ss.getRange("A"+num+":D"+num+"");
  } 
}

【问题讨论】:

    标签: javascript google-apps-script firebase-realtime-database google-sheets


    【解决方案1】:

    要在数据库更改时自动更新工作表,您有两种选择:

    1. 使用数据库内容定期刷新工作表。您可以通过在触发器上运行 getData 函数来完成此操作。
    2. 收听来自数据库的实时更新。虽然 Firebase 有此选项,但它在 FirebaseApp 库中不可用。

    如果您想在更新发生时将更新推送到工作表,您必须将它们从确实支持侦听实时更新的环境中推送到工作表中。 Doug Stevenson 在Copying data from Firebase Realtime Database to a Google Sheet in real time via Cloud Functions 上写了一个很好的例子。

    【讨论】:

      猜你喜欢
      • 2020-06-05
      • 2017-12-09
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多