ノードSDK上のデータベースにアクセスして、私は下に述べたように、私はNode.jsのコードを持っているhttps://firebase.google.com/docs/database/admin/startFirebase 3.6.9エラー:PERMISSION_DENIEDは
を参照しています:
var admin = require("firebase-admin");
var serviceAccount = require('mySdkJSONFile');
admin.initializeApp({
credential: admin.credential.cert({
projectId: "myProjectId",
clientEmail: "myClientEmail",
apiKey: "myApiKey",
privateKey: "myPrivateKey"
}),
databaseURL: "....",
databaseAuthVariableOverride: {
uid: "my-service-worker"
}
});
var db = admin.database();
var usersDB = db.ref("/users");
usersDB.set({
name: "myName",
date: "yesterday"
});
とルールは以下のように設定されているデータベースで
{
"rules": {
"public": {
".read": false,
".write": false
},
"users": {
"$uid": {
".read": "auth.uid == 'my-service-worker'",
".write": "auth.uid == 'my-service-worker'"
}
}
}
}
"/ user"の場合、読み取りと書き込みのアクセス許可をtrueに設定すると、すべて正常に動作し、設定に問題はありません。
https://firebase.google.com/docs/database/security/([ルールはフィルターではありません]ということを覚えておいてください(愚かな自分を見つけます)保護データ#rules_are_not_filters)。 '/ users'を照会している場合は、そのレベルの下のレベルではなく、そのレベル**での読み取りアクセスを許可するルールが必要です。 – Kato
ありがとう@Kato ... – manntsheth