【发布时间】:2019-05-28 07:07:17
【问题描述】:
下面是我在 firebase 数据库中的数据层次结构。我想将此数据发送到谷歌表,但我无法这样做。
谷歌表声明的错误是“TypeError:无法从未定义中读取属性“rytf1JLXetTIINjHNku0yAvs7su2”。 详情”
下面是我试图检索数据的代码。请让我知道错误。谢谢!
function writeSheets() {
var ss = SpreadsheetApp.openById("google-sheet-id");
var firebaseUrl = "database-url";
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl);
var data = base.getData('users/admin');
Logger.log(data);
var num = 2;
range = ss.getRange("A" + num + ":E" + num + "");
for (var i in data) {
var values = [
[
[
[data][data][i] // Error occurs here
].email, [
[data][data][i] // Error occurs here
].userName, [
[data][data] // Error occurs here
[i]
].Password, [
[data][data][i] // Error occurs here
].loginState, [
[data][data][i] // Error occurs here
].uid
]
];
range.setValues(values);
num += 1;
range = ss.getRange("A" + num + ":E" + num + "");
}
}
数据样本值
{
rytf1JLXetTIINjHNku0yAvs7su2:
{
loginDetail:
{
uid:rytf1JLXetTIINjHNku0yAvs7su2,
password:123456,
loginState:true,
userName:John,
email:a@a.com
}
}
}
【问题讨论】:
-
为了正确理解你的情况,你能提供一个
data的样本值来复制错误吗?当然,请删除您的个人信息。 -
我已经用样本数据@Tanaike 更新了问题
-
感谢您更新它。作为另一个问题,我可以问你发生错误的脚本行吗?
-
是的,当我通过编写 [data][data] @Tanaike 在对象中调用对象时,循环变量值中会发生错误
-
错误出现在
range.setValues(values)吗?
标签: firebase-realtime-database google-apps-script