google-apps-script
Firebase i AppScript: Wprowadzenie
Szukaj…
Wprowadzenie
Zintegruj Firebase z Google AppScript, aby odczytywać i zapisywać dane w bazie danych Firebase.
Firebase to system bazy danych NoSQL firmy Google, który korzysta z bazy danych w czasie rzeczywistym, aby pomóc w tworzeniu i hostowaniu aplikacji na urządzenia mobilne, stacjonarne i tablety. Bazy danych NoSQL używają obiektów JSON do przechowywania danych w formacie strukturalnym.
Łączenie z projektem Firebase w GAS i przesyłanie danych z arkusza kalkulacyjnego Google do Firebase
Zainstaluj zasób Firebase w AppScript
- W tym celu kliknij Zasoby, a następnie Biblioteki.
- Firebase ma unikalny klucz biblioteki projektu, który należy zainstalować w AppScript.
- Kliknij na biblioteki Pojawi się następujące wyskakujące okienko. Wprowadź następujący klucz projektu w polu tekstowym. MYeP8ZEEt1ylVDxS7uyg9plDOcoke7-2l To jest klucz biblioteki projektu dla Firebase.
- Teraz w wersji wybierz stabilną publiczną wersję.
- Kliknij Zapisz. Teraz Firebase został pomyślnie zainstalowany w AppScript, abyś mógł pracować.
Teraz weźmy przykład do odczytu i zapisu danych z Firebase.
- Teraz bierzemy przykładową tabelę zaprojektowaną w Arkuszach Google.
- Teraz zbuduj bazę danych w Firebase przy użyciu tej tabeli w arkuszach. Dodaj następujący kod w AppScript.
function writeDataToFirebase() {
var ss = SpreadsheetApp.openById("1LACsj0s3syAa9gvORdRWBhJ_YcXHybjQfHPgw3TLQ6g");
var sheet = ss.getSheets()[0];
var data = sheet.getDataRange().getValues();
var dataToImport = {};
for(var i = 1; i < data.length; i++) {
var firstName = data[i][0];
var lastName = data[i][1];
dataToImport[firstName + '-' + lastName] = {
firstName:firstName,
lastName:lastName,
emailAddress:data[i][2],
semester:data[i][4],
department:data[i][5],
};
}
var firebaseUrl = "https://example-app.firebaseio.com/";
var secret = "secret-key";
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
base.setData("", dataToImport);
}
Zastąp identyfikator arkusza kalkulacyjnego, firebaseURL i tajny klucz.
Jak znaleźć firebaseURL i tajny klucz?
- Przejdź do pulpitu nawigacyjnego Firebase i kliknij ikonę ustawień w lewym górnym rogu. Kliknij Ustawienia projektu.
- Przejdź do sekcji Konta usług, w której można znaleźć bazę danychURL. Służy to jako firebaseURL.
- Teraz kliknij kartę Secrets bazy danych i możesz znaleźć tajny klucz.
Teraz wstawiłeś firebaseURL i tajny klucz. Teraz wszystko jest gotowe. Kliknij uruchom kod w silniku AppScript.
- Po uruchomieniu poprosi o sprawdzenie uprawnień.
- Kliknij opcję Przejrzyj uprawnienia i zezwól.
- Teraz uruchom swoją funkcję i możesz zobaczyć tabelę utworzoną w bazie danych Firebase.
Aby zobaczyć bazę danych, przejdź do pulpitu nawigacyjnego Firebase i kliknij Baza danych, aby wyświetlić bazę danych.
Niektóre dodatkowe funkcje do implementacji odczytu i zapisu.
1. Aby napisać proste dane, aby sprawdzić, czy połączenie działa, czy nie.
function myFunction(){
var firebaseUrl = "https://example-app.firebaseio.com/";
var secret = "secret-key";
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
base.setData("test", "Hello Firebase");
}
2. Aby odczytać wszystkie dane
function getAllData() {
var firebaseUrl = "https://example-app.firebaseio.com/";
var secret = "secret-key";
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
var data = base.getData();
for(var i in data) {
Logger.log(data[i].firstName + ' ' + data[i].lastName);
}
}
Odczytane dane są wyświetlane w dziennikach. Aby sprawdzić dzienniki, kliknij Widok → Dzienniki lub po prostu użyj Control + Enter.
3. Aby odczytać konkretny zapis
function getContact() {
var firebaseUrl = "https://example-app.firebaseio.com/";
var secret = "secret-key";
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
var contact = base.getData("Yash-Udasi");
Logger.log(contact);
}
Odczytane dane są wyświetlane w dziennikach. Aby sprawdzić dzienniki, kliknij Widok → Dzienniki lub po prostu użyj Control + Enter.
4. Aby zaktualizować określony rekord.
function updateData() {
var firebaseUrl = "https://example-app.firebaseio.com/";
var secret = "secret-key";
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
base.updateData("Yash-Udasi/emailAddress", "[email protected]");
}