私はユーザーから有益な情報を収集するアンドロイドアプリを作っています。コードはこちらAndroid AppのFirebaseデータベースセキュリティルールを設定するには
Firebase postRef = mRef.child("marks");
Map<String, String> marks = new HashMap<String, String>();
marks.put("Name", fname);
marks.put("Phone", fphone);
marks.put("Year", fyear);
marks.put("Email", femail);
String uid=postRef.getKey();
Toast.makeText(im.this,"Thanks!",Toast.LENGTH_LONG).show();
これにより、Androidアプリケーションのすべてのユーザーからデータが取得されます。認証されたユーザーだけが自分の情報にアクセスできる特定のルールを設定する方法を教えてください。他のユーザーの情報ではありません。
私はFirebase規則でこれを試してみました:
{
"rules":{
"$uid":{
".read":"auth.uid==$uid",
".write":"auth.uid==$uid",
".validate":"newData.hasChildren(['uid','Email','Name'])"
}
}
}
しかし、その作業はありません。親切に私に具体的な解決策を教えてください。
ルールは、ユーザーが自分のデータにしかアクセスできないように見えます。共有したコードはデータベースの読み書きが行われないので、失敗することはありません。どうしたの? –
ありがとう、フランクを探して!実際のデータベースでは、UIDはありません。ここにlogcatがあります。 '09 -21 00:36:03.971 31112-31223/com.example.amey.ilsalpha V/RenderScript:0x559eaba9c0起動中のスレッド、CPU 6 09-21 00:36:04.413 31112-31465/com.example .amey.ilsalpha W/RepoOperation:/ marks/-KS7zP1oKI0WmcikjO1GのsetValue:FirebaseError:許可が拒否されました ' – coolamz