Eu sou relativamente novo em codificação e estou tendo problemas.
Eu tenho esse código para enviar dados para o 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: ""
});
No entanto, continuo recebendo o erro:
AVISO DO FIREBASE: definido em / users / (GoogleID) falhou: permission_denied 23-05-2016 22: 52: 42.707 firebase.js: 227 Erro não detectado (por promessa): PERMISSION_DENIED: permissão negada (…)
Quando tento pesquisar, ele fala sobre regras para o Firebase, que parece estar em um idioma que ainda não aprendi (ou está passando por cima da minha cabeça). Alguém pode explicar o que está causando o problema? Eu pensei que estava pedindo para armazenar e-mail e nome de exibição do usuário e você simplesmente não tinha permissão para fazer isso, mas quando eu os tirei, ainda tinha o mesmo problema. Existe uma maneira de evitar esse erro sem definir as regras, ou as regras são algo que eu posso aprender a escrever em um dia ou estou apenas fora do meu alcance?
Obrigado por qualquer ajuda!
fonte
Eu estava enfrentando um problema semelhante e descobri que esse erro era devido a regras incorretas definidas para operações de leitura / gravação para o banco de dados em tempo real. Por padrão, o google firebase atualmente carrega o armazenamento em nuvem e não o banco de dados em tempo real. Precisamos mudar para o tempo real e aplicar as regras corretas.
Como podemos ver, diz que o Firestore na nuvem não é o banco de dados em tempo real, uma vez alternado para o banco de dados correto, aplique as regras abaixo:
fonte
Vá para a opção "Banco de dados" que você mencionou.
Copiado daqui .
fonte
Vá para o banco de dados, ao lado do título, existem 2 opções:
Cloud Firestore, banco de dados em tempo real
Selecione banco de dados em tempo real e vá para regras
altere as regras para true.
Isso resolveu meu problema.
fonte
funciona..!!
fonte
OK, mas você não deseja abrir todo o banco de dados em tempo real! Você precisa de algo assim.
ou
fonte
Outra solução é realmente criar ou efetuar login no usuário automaticamente se você já tiver as credenciais à mão. Aqui está como eu faço isso usando JS simples.
fonte