将Google表格导出为Firebase错误

时间:2017-12-04 07:19:23

标签: firebase google-apps-script google-sheets

我试图从这个网站获取有关账单的信息:

  

https://www.congress.gov/search?q=%7B%22source%22%3A%22legislation%22%2C%22congress%22%3A%22115%22%7D

我已经在firebase中设置了节点,并且有一个google工作表,可以自动更新我需要的信息。我创建了一个谷歌脚本,应该从谷歌脚本更新firebase。它看起来像这样:

function sheetsToFireBase() {
  var ss = SpreadsheetApp.openById("1yZ1Kre0nRzYX1hNyeyOo5OfFrVWnOVRoPRH3jje_wCM");
  var sheets = ss.getSheets()[0];
  var data = sheets.getDataRange();
  var dataValues = data.getValues();
  var dataToImport = {};
  for(var i = 1; i < dataValues.length; i++) { //set data in .JSON format
    var BillName = dataValues[i][14];
    dataToImport[BillName] = {
      Name:BillName,
      //Billlink:dataValues[i][1],
      Description:dataValues[i][15],
      Representative:dataValues[i][8],
      LatestActions:dataValues[i][11],
    };
  }

  for (var sheetNum=0; sheetNum<sheets.length; sheetNum++) { //test if code ran
    var sheet = sheets[sheetNum];
          sheet.getRange("M2:M101").setValue("Code Ran");
          sheet.getRange("N2:N101").setValue(Math.round(Math.random()*100000));
        }

  var firebaseUrl = "REDACTED FOR SECURITY";
  var base = FirebaseApp.getDatabaseByUrl(firebaseUrl);
  base.setData("", dataToImport); //export data to firebase
}

*注意:我注释掉Billlink:dataValues [i] [1],因为它有&#34; /&#34;在链接中,我不确定是否导致错误,所以我暂时禁用它。 由于某种原因,我一直在

  

错误:数据无效;从1:34432开始无法解析密钥。键值不能为空或包含$#[] /或。 (第272行,文件&#34;代码&#34;,项目&#34; FirebaseApp&#34;)

为什么会这样?我没有$#[] /或。在我出口的任何单元格中。

1 个答案:

答案 0 :(得分:0)

显示错误消息的原因是Firebase正在读取公式而不是结果。因此,为了解决这个问题,必须使用公式的结果填充数据,而根本不存在公式。这可以通过谷歌脚本来实现:请参阅this Stack Overflow post。