6

我認爲我的大部分錯誤都來自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

回答

0

爲谷歌牀單要能寫你的火力地堡例如,可以有幾個原因,你不能寫,檢查:

  • 沒有你提供表格權限以訪問您的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

很酷,今天晚上會退房。一直在路上。 –

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