google-apps-script - 使用 Google Apps 脚本从 Google Firebase 写入 Google Sheets

标签 google-apps-script firebase firebase-realtime-database google-sheets-api

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

我已将 FirebaseApp 库添加到谷歌表脚本编辑器。然后我的代码看起来像这样:

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 返回的数据添加到谷歌表。我使用此代码通过 sheet 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+"");
  } 
}

一些注意事项:
  • 我之前在电子表格中为我的数据编写了标题
  • 在从 A 到 F 的 range = sheet.getRange("A"+num+":F"+num+""); 行中,我有我的标题
  • 关于google-apps-script - 使用 Google Apps 脚本从 Google Firebase 写入 Google Sheets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39194941/

    相关文章:

    google-apps-script - 为什么 ContactsApp.getContacts ByEmailAdress ('someemail@email.com' ) 使用 Google Apps 脚本返回 [Contact]?

    javascript - 如何将信息传递给 stripe.checkout.sessions.create() 函数

    firebase - 在 flutter webapp 中通过 Adyen 付款

    json - 从 firebase 检索特定数据

    google-apps-script - 使用选定的页面元素创建网格 (n,n)

    javascript - Google Script - 加速简单的循环

    javascript - 使用合并更新 Firestore - 如何覆盖文档的一部分

    javascript - 如何在 firebase 数据库中添加 indexOn userId

    angular - 在 Angular 中动态配置 Firebase 环境

    google-apps-script - 谷歌表格脚本。 getDisplayValues 添加前导空格