Ошибка синтаксического анализа при отправке данных из Google распространяется в Firebase - PullRequest
0 голосов
/ 12 июня 2019

Я отправляю данные из моей таблицы Google в Firebase.Мои данные содержат такие значения, как «0,5 мл», «2,5 мл» и т. Д. App Script не может проанализировать эти данные.Вот мой код

function myFunction() {
 var ss = SpreadsheetApp.openById("****");
 var sheet = ss.getSheets()[0];
 var data = sheet.getDataRange().getValues();
 var dataToImport = {};
  for(var i = 1; i < data.length; i++) {
   var Name = data[i][1];
   dataToImport[Name] = {
     Name: Name,
   };
 }
 var secret ="*****"
 var firebaseUrl = "******";
 var base = FirebaseApp.getDatabaseByUrl(firebaseUrl,secret);
 base.setData("", dataToImport);

}

Это ошибка, которую я получаю:

"Ошибка: 400 - неверные данные; не удалось проанализировать ключ, начинающийся с1: 2. Значение ключа не может быть пустым или содержать $ # [] / или. (Строка 303, файл "Код", проект "FirebaseApp") "

1 Ответ

0 голосов
/ 12 июня 2019

Причиной ошибки является тот факт, что Firebase не допускает использование некоторых специальных символов в ключе дочернего элемента. Как видно из моего исходного кода, я использовал само имя в качестве ключа, который содержит такие символы, как "."

Я изменил свой код следующим образом, чтобы ключ устанавливался случайным образом и работал нормально:

function myFunction() {
  var ss = SpreadsheetApp.openById("*****");
  var sheet = ss.getSheets()[0];
  var data = sheet.getDataRange().getValues();
  var dataToImport = {};
  var secret ="*****"
  var firebaseUrl = "*****";
  var base = FirebaseApp.getDatabaseByUrl(firebaseUrl,secret);
  for(var i = 1; i < data.length; i++) {
    dataToImport = {
      Name:data[i][1]
   };
    Logger.log(base.pushData("*****", dataToImport));
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...