Javascript Appscript:将Google电子表格中的数据添加到Firebase RealtimeDB节点

Javascript Appscript:将Google电子表格中的数据添加到Firebase RealtimeDB节点,javascript,database,firebase,google-apps-script,google-sheets,Javascript,Database,Firebase,Google Apps Script,Google Sheets,我正在尝试将谷歌工作表中的数据添加到firebase。这就是我想要达到的目标-> 这就是我到目前为止所做的,但是它创建了新的节点项,并且只放置没有名称的值。 像 它的功能-->项>0 1:“产品名称” 2:‘产品条码’等 ------------ 我想要什么-->项目> 示例条形码: 项目名称:“radeonRX” 项目条形码:“23452323523” var secret = '...' function getFirebaseUrl(jsonPath) { return (

我正在尝试将谷歌工作表中的数据添加到firebase。这就是我想要达到的目标->

这就是我到目前为止所做的,但是它创建了新的节点
,并且只放置没有名称的值。 像

它的功能-->项>0

1:“产品名称”

2:‘产品条码’等

------------

我想要什么-->项目> 示例条形码:

项目名称:“radeonRX”

项目条形码:“23452323523”


var secret = '...'

function getFirebaseUrl(jsonPath) {
  return (
    'https://inventory.firebaseio.com/Items' +
    jsonPath +
    '.json?auth=' +
    secret
  )
}

function syncMasterSheet(excelData) {
 
  var options = {
    method: 'put',
    contentType: 'application/json',
    payload: JSON.stringify(excelData)
  }
  var fireBaseUrl = getFirebaseUrl('Items')

  UrlFetchApp.fetch(fireBaseUrl, options)
}

function startSync() {
  //Get the currently active sheet
  var sheet = SpreadsheetApp.getActiveSheet()
  //Get the number of rows and columns which contain some content
  var [rows, columns] = [sheet.getLastRow(), sheet.getLastColumn()]
  //Get the data contained in those rows and columns as a 2 dimensional array
  var data = sheet.getRange(1, 1, rows, columns).getValues()

  syncMasterSheet(data)
}

解释一下这个问题:
startSync
函数正在传递一个数组,但它应该传递一个对象数组

您可以使用以下内容:

/**
 * Converts an Array of Arrays into an Array of Objects
 *
 * @param {Array[]} values Array of Arrays. First "row" has column headers to be used as object keys
 * @return {Array}
 */
function objectise(values) 
  var keys = values[0]; // Column headers will be used as Object keys.
  var arr = values.map(function(row){
    var obj = {};
    keys.forEach(function(key,i){
       obj[key] = row[i];
    });
    return obj;
  });
}
注意:您可能希望将列标题“规范化”为驼峰样式或类似样式

相关的


您好,很抱歉,我不完全了解您目前得到的结果。