我试图从这个网站获取有关账单的信息:
我已经在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;)
为什么会这样?我没有$#[] /或。在我出口的任何单元格中。
答案 0 :(得分:0)
显示错误消息的原因是Firebase正在读取公式而不是结果。因此,为了解决这个问题,必须使用公式的结果填充数据,而根本不存在公式。这可以通过谷歌脚本来实现:请参阅this Stack Overflow post。