Javascript 如何在firebase firestore中设置权限

Javascript 如何在firebase firestore中设置权限,javascript,firebase,google-cloud-firestore,firebase-security,Javascript,Firebase,Google Cloud Firestore,Firebase Security,此代码的响应是 遇到未捕获的异常 类型:Google\Cloud\Core\Exception\ServiceException 消息:{消息:权限缺失或不足,代码:7,状态:权限被拒绝,详细信息:[]} 文件名:/var/www/html/riglynx/vendor/google/cloud/Core/src/GrpcRequestWrapper.php 电话号码:263 查看文档。请参阅文档 最常见的安全规则模式之一是控制访问 基于用户的身份验证状态。例如,您的应用程序可能会 要仅允许已登

此代码的响应是

遇到未捕获的异常

类型:Google\Cloud\Core\Exception\ServiceException

消息:{消息:权限缺失或不足,代码:7,状态:权限被拒绝,详细信息:[]}

文件名:/var/www/html/riglynx/vendor/google/cloud/Core/src/GrpcRequestWrapper.php

电话号码:263

查看文档。请参阅文档

最常见的安全规则模式之一是控制访问 基于用户的身份验证状态。例如,您的应用程序可能会 要仅允许已登录用户写入数据:

    $path = "firebase_auth.json";

    $config = array(
        "projectId" => "XXXX",
        "keyFile" => json_decode(file_get_contents($path), true)
    );
    $firestore = new FirestoreClient($config);
    $collectionReference = $firestore->collection('Channels');
    $snapshot = $collectionReference->documents().get();

这将有助于您入门。

出现此错误的原因是不允许您访问名为Channels的集合的文档

为了解决这个问题,您必须登录到控制台firebase。 导航到firestore数据库下的数据库>,您必须单击规则

根据规定,你可以根据自己的意愿给予许可。 如果您想授予所有用户访问权限,则可以简单地用以下代码替换当前代码。这不是一个好的做法,也不安全

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow the user to access documents in the "cities" collection
    // only if they are authenticated.
    match /cities/{city} {
      allow read, write: if request.auth.uid != null;
    }
  }
}

看起来你没有阅读频道的权限。看见最简单但锁定最少的版本位于该页面上第二个示例的ALLOW ALL框中。我需要对所有文档(而不是特定文档)进行完全访问。单击以获取要粘贴的确切代码。service cloud.firestore{match/databases/{database}/documents{match/{document=**}{ALLOW read,write:if true;}我也设置了,你能确保你使用的是正确的数据库吗?如果是,您也可以从模拟器进行测试。您可以在规则选项卡中找到模拟器。您可以尝试打开和关闭身份验证,并查看响应。如果模拟器出现错误,则需要重新检查您的规则。复制并粘贴上述给定代码,然后重试。
service cloud.firestore {
 match /databases/{database}/documents {
  match /{document=**} {
    allow read, write;
  }
 }
}