質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Firebase Authentication

Firebase Authenticationは、Firebaseを利用したユーザーの認証機能です。バックエンドサービス、SDK、アプリでのユーザー認証に使用できるUIライブラリが用意されています。

解決済

FirebaseDBのルールについて

navesanta
navesanta

総合スコア0

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Firebase Authentication

Firebase Authenticationは、Firebaseを利用したユーザーの認証機能です。バックエンドサービス、SDK、アプリでのユーザー認証に使用できるUIライブラリが用意されています。

1回答

0評価

0クリップ

719閲覧

投稿2020/04/20 08:26

編集2022/01/12 10:58

Firebase Realtime Databaseを使ってアプリ用のDBの設定しているのですが
分からない点があるので教えてください。

やりたいことは
AuthでIDを取得したユーザーはreadアクセスができ
かつquery.orderByKeyで指定したキーを上から順に
1000件取得(表示)するルールを設定したいです。

{ "rules": { ".read": "auth != null" ||"query.orderByKey && query.limitToFirst <= 1000", ".write": "auth != null" } }

上記ルールを設定すると

ルールの保存に失敗しました - 行 4: Expected ',' or '}'.

と言うエラーが出て保存できません。
どこが間違っているでしょうか?

開発環境)※今回は質問内容に関係ないですが参考まで
PC: mac
Unity2018.3.0f2
言語:C#

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

hoshi-takanori
hoshi-takanori

2020/04/20 15:45

|| が文字列の外にあるので JSON じゃなくなってます。 ところで、ルールに「query\.orderByKeyで指定したキーを上から順に1000件取得(表示)」なんて書けるんですか? https://firebase\.google\.com/docs/database/security\?hl=ja
navesanta
navesanta

2020/04/20 23:45

>|| が文字列の外にあるので JSON じゃなくなってます。 了解です。変更してみます。 >ルールに「query\.orderByKeyで指定したキーを上から順に1000件取得(表示)」 なんて書けるんですか? 下記のURLの「クエリベースのルールを使用してダウンロードを制限する」 を参考にしています。(間違っていますか?) https://firebase\.google\.com/docs/database/usage/optimize
navesanta
navesanta

2020/04/21 00:04

文字内に入れたところエラーは解消されました。 しかし取得する数が制限されていません。 ORだからでしょうか?
hoshi-takanori
hoshi-takanori

2020/04/21 00:06

ごめんなさい、私が知らなかっただけです。こんな感じに書けるようですね。 "\.read": "auth\.uid != null && query\.orderByChild == 'owner' && query\.equalTo == auth\.uid" https://firebase\.google\.com/docs/database/security/securing-data#query-based_rules
hoshi-takanori
hoshi-takanori

2020/04/21 00:07

OR にしちゃうと、auth\.uid != null または query\.orderByKey && query\.limitToFirst <= 1000 のどちらかが満たされれば通っちゃうでしょうね。
navesanta
navesanta

2020/04/21 00:27

うまくいきそうです。ありがとうございました。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Firebase Authentication

Firebase Authenticationは、Firebaseを利用したユーザーの認証機能です。バックエンドサービス、SDK、アプリでのユーザー認証に使用できるUIライブラリが用意されています。