当我撰写我的颤振应用程序时,我在 macOs 上遇到了这个问题,相同的基本代码在我的 windows pc 中作业,但在 macOs 中它不起作用。正如您在我的日志中看到的,应用程序已连接,但我仍然无法在我的 Firestore 数据库上发出请求
我改变了规则
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
到
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
但我有同样的错误。
D/FirebaseAuth(11790): Notifying id token listeners about user ( tNGS8j375AYehEPDhZADPP80zLY2 ).
W/DynamiteModule(11790): Local module descriptor class for providerinstaller not found.
I/DynamiteModule(11790): Considering local module providerinstaller:0 and remote module providerinstaller:0
W/ProviderInstaller(11790): Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
W/Firestore(11790): (24.0.0) [Firestore]: Listen for Query(target=Query(usersProDEV where uuid == tNGS8j375AYehEPDhZADPP80zLY2 order by __name__);limitType=LIMIT_TO_FIRST) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
E/flutter (11790): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation.
相同的代码在我的 Windows PC 中作业
uj5u.com热心网友回复:
在里面projectFolder/android/app/src/main/AndroidManifest.xml
添加以下内容:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
uj5u.com热心网友回复:
根据这篇文章,您的应用程序访问互联网时出现错误。请检查您的网络连接:
第 1 版:
您能否尝试本档案中的示例代码进行身份验证:
service cloud.firestore {
match /databases/{database}/documents {
match /messages/{document=**} {
allow read, update, delete: if request.auth.uid == resource.data.uid;
allow create: if request.auth.uid != null;
}
}
}
此代码必须仅适用于读取而不是写入:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read: if true;
allow write: if false;
}
}
}
uj5u.com热心网友回复:
几次之后,我意识到问题不仅在 MacOs 下,而且在模拟器上。通过进一步挖掘,我意识到我在项目上激活的 AppCheck 不接受模拟器下除错模式的所有请求。
0 评论