Firebase ne pas communiquer avec React Application - Autorisation refusée - Vérifié tout question en ligne sur ce pas de solution

voix
0

Essayer de connecter mon application avec Firebase réagir à obtenir l'erreur.

Uncaught (in promise) Error: permission_denied at /tests: Client doesn't have permission to access the desired data.

J'ai lu toutes les réponses et tout semble correct et tout corps s'il vous plaît un coup d'oeil sur ce qui se passe mal.

Lorsque je teste la règle dans le simulateur avec simulateur type = get emplacement simulateur = databses/testsil me montre la sortie de succès.

Est-ce que je n'utilise pas correctement ref

A l'intérieur React app - Forfait J'utilise - firebase: ^5.4.2,

Code React
1.Config.js Fichier

// Initialize Firebase
import firebase from 'firebase';
const config = {
    apiKey: xxxx,
    authDomain: xxxx,
    databaseURL: xxxx,
    projectId: xxx,
    storageBucket: xxx,
    messagingSenderId: xxx
};
const fire = firebase.initializeApp(config)
export { fire }

2. Dans mon composant conteneur

`import { fire } from '../../Config/Config';`

 `componentWillMount() {

   let testRef = fire.database().ref().child('tests');

   //also tried this
   //let testRef = fire.database().ref('tests');

   console.log('testRef', testRef)
   testRef.once(value).then((f) => {
   console.log(f);
  });
 }`

3. Règles dans mon compte firebase

service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
           allow read, write: if true;
        }
      }
    }
  1. Les données dans les tests noeud

Image

Créé 02/09/2018 à 05:29
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Vos règles Firebase vous suggérons d' utiliser la base de données Firestore mais votre requête est écrit pour extraire des données de base de données en temps réel

Ainsi, votre testRef devrait être comme ceci:

var testRef = fire.firestore().collection("tests");

et vous pouvez obtenir tous les documents de comme ceci:

testRef
.get()
.then(function(querySnapshot) {
    querySnapshot.forEach(function(doc) {
        console.log(doc.id, " => ", doc.data());
    });
})
.catch(function(error) {
    console.log("Error getting documents: ", error);
});

Vous devriez également envisager d' utiliser réagir-native-firebase pour votre projet réagir natif car il me semble que vous utilisez la bibliothèque Web

Créé 02/09/2018 à 06:53
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more