我认为我的大多数错误都来自Firebase的更新。但我到了那儿。
仍然热爱Firebase!
好的,我正在尝试将列演示电子表格导出到Firebase(代码如下)。该错误似乎与Firebase参考有关。我知道如何在我的Firebase项目中修复它,但这已经挂钩到电子表格的脚本编辑器中。
错误:ReferenceError:未定义“FirebaseApp”。 (第13行,档案 “出口”)
function writeDataToFirebase() {
var ss =
SpreadsheetApp.openById("1rV2_S2q5rcakOuHs2E1iLeKR2floRIozSytAt2iRXo8");
var sheet = ss.getSheets()[0];
var data = sheet.getDataRange().getValues();
var dataToImport = {};
for(var i = 1; i < data.length; i++) {
var year = data[i][0];
dataToImport[year] = {
caption:data[i][1]
};
}
var firebaseUrl = "https://test-db-9833d.firebaseio.com/";
// ERROR HERE ********************************************
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl);
base.setData("", dataToImport);
}
答案 0 :(得分:2)
以下是正确答案: 在脚本中有一个资源选项卡来添加库: 搜索: 的 MYeP8ZEEt1ylVDxS7uyg9plDOcoke7-2l 强> 并选择11-static 然后重新运行你的脚本
文档: https://sites.google.com/site/scriptsexamples/new-connectors-to-google-services/firebase
答案 1 :(得分:0)
要让Google表格能够写入您的Firebase实例,可能有几个原因无法写入,请查看:
true
的用户,只是为了看看它是否适用于启动,然后使用完整的烫发设置Logger.log
之类的调试工具来查看您在登录特定代码段时获得的内容?我也能够录制我的流程的完整截屏视频,您可以在此处观看:https://www.youtube.com/watch?v=9SIAnjgKZZQ&feature=youtu.be
这里是我更改为使用dinamic
标题标题的代码,用于我们数据的标签而没有它&#34;硬编码&#34;方式:)
function onfire() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getDataRange();
var values = range.getValues();
var allvals = []; var row = {};
for(var i = 1; i < values.length; i++) {
for( var j = 0; j < values[i].length; j++ ){
if( values[i][j] ) {
row[ values[0][j].toString() ] = values[i][j] ;
}
}
allvals.push( row ); // insert row
row = {}; // blank template obj
}
var firebaseUrl = "https://my-android-app-demo1.firebaseio.com/sheet";
var base = firebase.getDatabaseByUrl(firebaseUrl, sec);
// Logger.log( allvals );
base.setData("", allvals );
}
hth,kres
答案 2 :(得分:0)
如果您使用纯JavaScript,请按以下步骤初始化FirebaseApp
类:
// Load Firebase library
var firebaseScript = document.createElement('script');
firebaseScript.setAttribute('src',
'https://www.gstatic.com/firebasejs/4.1.1/firebase.js');
document.head.appendChild(firebaseScript);
// Initialize Firebase
// TODO: Replace with your project's customized code snippet
var config = {
apiKey: "<API_KEY>",
authDomain: "<PROJECT_ID>.firebaseapp.com",
databaseURL: "https://<DATABASE_NAME>.firebaseio.com",
storageBucket: "<BUCKET>.appspot.com",
messagingSenderId: "<SENDER_ID>",
};
var app = firebase.initializeApp(config);
或者,如果您使用Webpack或Browserify,则可以安装firebase
包,然后按如下方式对其进行初始化:
var firebase = require("firebase/app");
require("firebase/auth");
require("firebase/database");
var config = {
// ...
};
var app = firebase.initializeApp(config);