firestore 无法获得权限被拒绝错误的子集合

firestore failed to get subcollection with permission denied error

我想使用 java 库获取包含所有子集合的文档。

我的 firestore 有以上数据

/groups/group1/posts/post1
/groups/group1/users/user1

这是我的规则,我设置为允许所有测试请求。

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

这是我的java代码

Iterable<CollectionReference> collections =
  db.collection("groups").document("group1").listCollections();

for (CollectionReference collRef : collections) {
  System.out.println("Found subcollection with id: " + collRef.getId());
}

但我遇到了这个错误

Caused by: io.grpc.StatusRuntimeException: PERMISSION_DENIED: Missing or insufficient permissions.
    at io.grpc.Status.asRuntimeException(Status.java:535)

已更新

这不是androidsdk,官方文档是here

这是我的一部分 build.gradel

implementation 'com.google.cloud:google-cloud-firestore:3.2.0'
implementation group: 'com.google.cloud', name: 'google-cloud-storage', version: '2.7.1'

我更改了几行代码来设置凭据

  .setCredentialsProvider(FixedCredentialsProvider.create(credentials))

它使工作变得清晰。