【问题标题】:React js throwing Firestore Missing or insufficient permissions even after Rules are public即使在规则公开后,React js 也会抛出 Firestore 丢失或权限不足
【发布时间】:2021-06-23 08:46:02
【问题描述】:

以下是我的 Firestore 编写代码

当我尝试写入 Firestore 数据库时,我收到 Missing or insufficient permissions 错误。即使我将规则更改为public

我在我的项目中使用 npm firebase 包

从 'react' 导入 React, { useState, useEffect } 导入 { myFirebaseStorage, myFirebaseFirestore, timestamp } from '../firebase/config';

const useStorage = (file) => {

const [progress, setProgress] = useState(0);
const [error, setError] = useState(null);
const [url, setUrl] = useState(null);



useEffect(() => {

    const storageRef = myFirebaseStorage.ref(file.name);

     //database collection reference
    const collectionRef = myFirebaseFirestore.collection('images');

    storageRef.put(file).on('state_changed', (snap) => {

        let percentage = (snap.bytesTransferred / snap.totalBytes) * 100;

        setProgress(percentage);

    },
        (err) => {
            setError(err);
        },
        async () => {

            const url = await storageRef.getDownloadURL();
            console.log(" Image URL: ", url);
            const createdAt = timestamp();

             //writing data to firestore

            collectionRef.add({ url: url, createdAt: createdAt })
                .then((docRef) => {
                    console.log("Document written with ID: ", docRef.id);
                })
                .catch((error) => {
                    console.error("Error adding document: ", error);
                });

                





            collectionRef
                .get()
                .then(snapshot => {
                    // allowed for an admin user
                    console.log("got it ")
                })
                .catch(error => {
                    // a non-admin user is denied list permission
                    console.log(error.message);
                });
            setUrl(url);

        }
    )
}, [file])

return (
    { progress, url, error }
)}export default useStorage

【问题讨论】:

  • 您能否分享您尝试写入 Firestore 数据库的代码?
  • @farid-shumbar 添加了代码文件代码..看看,谢谢

标签: reactjs firebase google-cloud-firestore


【解决方案1】:

由于您还引用了 Firebase 存储,因此您还需要设置 Firebase Storage Security rules 才能使写入工作。

【讨论】:

猜你喜欢
  • 2021-04-25
  • 2019-05-05
  • 2018-12-06
  • 1970-01-01
  • 2018-09-12
  • 1970-01-01
  • 2018-08-14
  • 1970-01-01
  • 2020-10-01
相关资源
最近更新 更多