Как я могу написать в Google Sheets свои данные Firebase? - PullRequest
0 голосов
/ 29 мая 2019

У меня есть база данных в Firebase, и я хочу получить оттуда данные и поместить их в Google SpreadSheet.

function getData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Database");
var data = getFirebaseData('contacts');
var [rows, columns] = [sheet.getLastRow(), sheet.getLastColumn()];
var range = sheet.getRange(1,1,1,1);
Logger.log(data)
range.setValue(data)
}

function getFirebaseData(data){
var firebaseUrl = "https://XXXXX.firebaseio.com/";
var secret = 'XXXXXXXX';
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
var result = base.getData('contacts');
for(var i in data) {
    Logger.log(data[i].eMail + ' ' + data[i].title);
return result;
 }
}

и вот изображение:

databse

Данные не отображаются, и я не могу понять, почему

1 Ответ

0 голосов
/ 29 мая 2019

Ваша проблема должна быть решена путем выполнения нескольких шагов:

  1. В вашей функции getFirebaseData() переместите оператор return за пределы цикла;
  2. Вместо циклического повторенияdata, цикл по result (в настоящее время вы перебираете каждое свойство «контактов» String);
  3. При желании добавьте проверки для getData(), возвращающих null или недействительных firebaseUrl(в последнем случае getData() вызовет ошибку, используйте для объяснения try...catch);
  4. Измените base.getData('contacts') на base.getData(data) (не по этой ли причине вы передаете dataк функции?);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...