Я относительно новичок в программировании, и у меня проблемы.
У меня есть этот код для отправки данных в firebase
app.userid = app.user.uid
var userRef = app.dataInfo.child(app.users);
var useridRef = userRef.child(app.userid);
useridRef.set({
locations: "",
theme: "",
colorScheme: "",
food: ""
});
Однако я продолжаю получать ошибку:
ПРЕДУПРЕЖДЕНИЕ FIREBASE: установить в / users / (GoogleID) не удалось: permission_denied 2016-05-23 22: 52: 42.707 firebase.js: 227 Не перехвачено (в обещании) Ошибка: PERMISSION_DENIED: Permission denied (…)
Когда я пытаюсь найти это, он говорит о правилах для Firebase, которые, кажется, написаны на языке, который я еще не изучил (или это просто выходит у меня из головы). Может кто-нибудь объяснить, что вызывает проблему? Я думал, что прошу сохранить адрес электронной почты и отображаемое имя пользователя, а вам просто не разрешили это делать, но когда я удалил их, у меня все еще была та же проблема. Есть ли способ избежать этой ошибки, не устанавливая правила, или правила - это то, чему я могу научить себя, как писать за день, или я просто не в своей лиге?
Спасибо за любую помощь!
Я столкнулся с аналогичной проблемой и обнаружил, что эта ошибка возникла из-за неправильного набора правил для операций чтения / записи для базы данных в реальном времени. По умолчанию Google Firebase в настоящее время загружает облачное хранилище, а не базу данных в реальном времени. Нам нужно перейти в режим реального времени и применить правильные правила.
Как мы видим, в нем говорится, что облачный Firestore не база данных реального времени, после переключения на правильную базу данных применяются следующие правила:
источник
Перейдите к упомянутой вами опции «База данных».
Скопировано отсюда .
источник
Перейти в базу данных, рядом с заголовком есть 2 варианта:
Cloud Firestore, база данных в реальном времени
Выберите базу данных в реальном времени и перейдите к правилам
Измените правила на true.
источник
Хорошо, но вы не хотите открывать всю базу данных в реальном времени! Вам нужно что-то подобное.
или
источник
источник
Другое решение - фактически создать пользователя или войти в систему автоматически, если у вас уже есть учетные данные. Вот как я это делаю с помощью Plain JS.
источник