sheets how google example duplicate data create big javascript firebase firebase-database google-spreadsheet

javascript - how - Exportar desde Google Spreadsheet a Firebase, ERROR



firebase js example (2)

Si usa JavaScript simple, inicialice su clase FirebaseApp la siguiente manera:

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

Alternativamente, si usa Webpack o Browserify, puede instalar el paquete de firebase y luego inicializarlo de la siguiente manera:

var firebase = require("firebase/app"); require("firebase/auth"); require("firebase/database"); var config = { // ... }; var app = firebase.initializeApp(config);

Creo que la mayoría de mis errores provienen de las actualizaciones de Firebase. Pero estoy llegando.

¡Todavía amando a Firebase!

Ok, estoy intentando exportar una hoja de cálculo de demostración de columna a Firebase (código de abajo). El error parece estar relacionado con la referencia de Firebase. Sé cómo solucionarlo en mis proyectos de Firebase, pero esto está enganchado en el editor de scripts de la hoja de cálculo.

ERROR: ReferenceError: "FirebaseApp" no está definido. (línea 13, archivo "exportar")

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


para que Google Sheets pueda escribir en su instancia de Firebase, puede haber un par de razones por las que no puede escribir en él, verifique esto:

  • ¿Dio permiso para acceder a la información de su cuenta de Google y a los documentos?
  • hiciste referencia correctamente a la URL de la base de datos de firebase
  • ¿Aflojó los permisos en Firebase, para comprobar perposas puede dar fe de la escritura, solo para ver si eso funciona para el inicio, y luego usar la configuración completa de la permeabilidad
  • ¿Intentó utilizar la herramienta de depuración como Logger.log para ver lo que obtiene al iniciar sesión en secciones específicas del código?

también he podido grabar el screencast completo de mi proceso y puede verlo aquí: https://www.youtube.com/watch?v=9SIAnjgKZZQ&feature=youtu.be

aquí está el código que cambié para usar títulos dinamic encabezado para las etiquetas de nuestros datos y no tener el modo "codificado" :)

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