firestoreのcollectionGroupのデータ取得で `The caller does not have permission to execute the specified operation.`
firestoreのcollectionGroupを使うと下記のようなエラーが出た
こんな権限エラーが出る…
Error: [firestore/permission-denied] The caller does not have permission to execute the specified operation.
Native Firebase
NativeFirebaseError: [firestore/permission-denied] The caller does not have permission to execute the specified operation.
解決 - セキュリティールールを正しく書き換えよう!
firestore Security Rulesを確認してください。
collectionGroupで下の階層のサブコレクションにアクセスするには
match /{path=**}/コレクション名/{documentId}
の様に上の階層をカスケードしてあげるとPermissionのエラーが消えます!
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// 認証済み
function isAuthenticated() {
return request.auth.uid != null
}
// コレクショングループの所
match /{path=**}/followor_ids/{followerIds} {
allow read, write: if isAuthenticated();
}
}
}
こんなコードを書いてる時に発生します!
firestore().collectionGroup(COLLECTION_NAME).where('ids', 'array-contains', uid).get()
参考
Collection Group permissions for Firestore - by stackoverflow
Author And Source
この問題について(firestoreのcollectionGroupのデータ取得で `The caller does not have permission to execute the specified operation.`), 我々は、より多くの情報をここで見つけました https://qiita.com/HorikawaTokiya/items/a5f07e26e3b2ef2732ee著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .