从Google Spreadsheet导出到Firebase,错误

从Google Spreadsheet导出到Firebase,错误

问题描述:

我认为我的大部分错误都来自Firebase的更新。但我到了那里。从Google Spreadsheet导出到Firebase,错误

仍然爱的Firebase!

好吧,我试图导出一个列演示电子表格到Firebase(代码波纹管)。该错误似乎与Firebase参考有关。我知道如何在我的Firebase项目中解决这个问题,但这是挂钩到电子表格的脚本编辑器中的。

ERROR: ReferenceError: "FirebaseApp" is not defined. (line 13, file "export")

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); 

} 
+2

您是否在电子表格中安装了FirebaseApp?您可以在这里获得说明:https://sites.google.com/site/scriptsexamples/new-connectors-to-google-services/firebase – laltin

为谷歌床单要能写你的火力地堡例如,可以有几个原因,你不能写,检查:

  • 没有你提供表格权限以访问您的Google帐户信息和文档
  • 您是否正确引用了firebase数据库网址
  • 您是否放松了firebase的权限,以便测试可以给wr只是为了看看是否适用于开始,然后使用完整的perm安装
  • 您是否试图使用调试工具如Logger.log来查看您在登录特定代码部分时获得的内容?

我也已经能够记录我的过程中充分截屏,你可以在这里观看:https://www.youtube.com/watch?v=9SIAnjgKZZQ&feature=youtu.be

这里是我改为使用标签dinamic头标题为我们的数据并没有代码其 “硬编码” 的方式:)

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); 
} 

心连心,KRES

+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); 

以下是正确的答案: 在脚本中有一个资源标签添加库: 搜索: MYeP8ZEEt1ylVDxS7uyg9plDOcoke7-2l 并选择11静电 然后重新运行脚本

文档: https://sites.google.com/site/scriptsexamples/new-connectors-to-google-services/firebase

+0

添加一些正确的描述 – Billa