繁体   English   中英

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

[英]Write from Google Firebase to Google Sheets using Google Apps script

尝试检索存储在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);
}

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

接下来,我需要将返回的数据从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);
    });
  }

我正在使用最新的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+"");
  } 
}

一些说明:

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

我希望这有助于某人,这对我有用。

function writeSheets() {
  var ss = SpreadsheetApp.openById("10lyQpQtEA7euCfdU2isrqB_bgPuy-eSbW74h7oDP3ko");
  var sheet = ss.getSheets()[0];
  var firebaseUrl = "https://myapp.firebaseio.com/";
  var secret = "pCOCwKCC582jpqdZe2EqPqnW3IAd3UyO9oB4uaEL2";  // get this from firebase project settings
  var base = FirebaseApp.getDatabaseByUrl(firebaseUrl);
  var data = base.getData();
  var keys = Object.keys(data.entries);
  var sheetRow = [];
  var entryKeys;
  for (index in keys) {
    sheetRow = [];
    entryKeys = Object.keys(data.entries[keys[index]])
    for (i in entryKeys) {
      sheetRow.push(data.entries[keys[index]][entryKeys[i]]);
    }
    //Logger.log(sheetRow);
    sheet.appendRow(sheetRow);                            
  }
}

注意:为了使此代码有效,您需要按照以下说明在脚本编辑器中安装firebaseapp库, https://sites.google.com/site/scriptsexamples/new-connectors-to-google-services/火力

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM