我正在自学以实现 Cloud Firestone 服务。
没错,我只是想读取云中的数据,但出现以下错误:com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: 权限缺失或不足。
谁能帮助我并告诉我我做错了什么?我似乎无法指出我的错误。
提前致谢!
权限:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// This rule allows anyone on the internet to view, edit, and delete
// all data in your Firestore database. It is useful for getting
// started, but it is configured to expire after 30 days because it
// leaves your app open to attackers. At that time, all client
// requests to your Firestore database will be denied.
//
// Make sure to write security rules for your app before that time, or else
// your app will lose access to your Firestore database
match /{document=**} {
allow read, write: if request.time < timestamp.date(2020, 3, 14);
}
}
}
客户端片段.java:
FirebaseFirestore databaseReference = FirebaseFirestore.getInstance();
Query query = databaseReference.collection("clients");
FirestoreRecyclerOptions<Client> options =
new FirestoreRecyclerOptions.Builder<Client>()
.setQuery(query, snapshot -> {
Client client = snapshot.toObject(Client.class);
client.setId(snapshot.getId());
return client;
}).build();
adapter = new FirestoreRecyclerAdapter<Client, ClientViewHolder>(options) {
@Override
public ClientViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// Create a new instance of the ViewHolder, in this case we are using a custom
// layout called R.layout.message for each item
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_item_client, parent, false);
ClientViewHolder viewHolder = new ClientViewHolder(view);
viewHolder.setOnDeleteClickedListener(mOnDeleteListener);
viewHolder.setOnEditClickedListener(mOnEditListener);
viewHolder.setOnItemClickListener(mOnItemListener);
return viewHolder;
}
@Override
protected void onBindViewHolder(ClientViewHolder holder, int position, Client model) {
// Bind the Chat object to the ChatHolder
// ...
holder.Bind(model);
}
};
binding.rvClient.setLayoutManager(new LinearLayoutManager(getActivity()));
binding.rvClient.setAdapter(adapter);
数据:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句