使用Google Apps脚本从Google Firebase写入Google表格

ukn*_*it2 2 google-apps-script firebase firebase-realtime-database google-sheets-api

尝试检索存储在google firebase中名为entries的节点下的表单条目,并使用google工作表中的脚本编辑器附加到google工作表.

我已将FirebaseApp库添加到Google表格脚本编辑器中.然后我的代码看起来像这样:

function getAllData() {
  var firebaseUrl = "https://myapp.firebaseio.com/";
  var secret = "pCOCwKCC582jpqdZe2EqPqnW3IAd3UyO9oB4uaEL2";
  var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
  var data = base.getData();
    Logger.log(data);
}
Run Code Online (Sandbox Code Playgroud)

当我跑步时,没有任何反应.有任何想法吗?

接下来,我需要将返回的数据从firebase添加到google工作表.我使用此代码通过工作表api执行此操作,但我不确定这在google脚本编辑器中是如何工作的?

  function addEntries() {
    gapi.client.sheets.spreadsheets.values.append({
      spreadsheetId: '10lyQpQtEA7euCfdU2isrqB_bgPuy-eSbW74h7oDP3ko',
      range: "Sheet1!A1:D100",
      majorDimension: "ROWS",
        "values": [
          ["testa", "testb", "testc", "testd"]
        ],
      valueInputOption: 'USER_ENTERED'
    }).then(function(response) {

    }, function(response) {
      appendPre('Error: ' + response.result.error.message);
    });
  }
Run Code Online (Sandbox Code Playgroud)

小智 6

我正在使用最新的Firebase版本.这段代码对我有用.

function getFacturasClientesExistentes() {
var firebaseUrl = "https://test.firebaseio.com/FacturasBLP/clienteExistente";
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl);
var data = base.getData();

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Facturas Clientes Existentes");

var num = 2;
range = sheet.getRange("A"+num+":F"+num+"");
for(var i in data) {
  var values = [
  [ data[i].fecha, data[i].sucursal, data[i].cantidad, data[i].cliente, data[i].correo, data[i].estatus ]
  ];
  range.setValues(values);
  num += 1;
  range = sheet.getRange("A"+num+":F"+num+"");
  } 
}
Run Code Online (Sandbox Code Playgroud)

一些说明:

  1. 我之前在电子表格中为我的数据编写了标题
  2. range = sheet.getRange("A"+num+":F"+num+"");从A到FI 的行中有我的标题