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

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

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

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

2183閲覧

Firebaseのチュートリアルでつまずいています。

chiba_kun

総合スコア16

Firebase

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2019/08/17 01:02

編集2019/08/19 01:01

前提・実現したいこと

Firebaseを使ってみたいと思い、解説の動画サイトを参考にしながら勉強をしています。

ですがデーターベースにコレクションを追加してデータを保存する、という所でつまずいてしまいました。

原因を解決して、データーベースにデータを保存できるようにしたいです。

発生している問題・エラーメッセージ

イメージ説明

該当のソースコード

html

1<body> 2<script src="https://www.gstatic.com/firebasejs/6.4.0/firebase-app.js"></script> 3<script src="https://www.gstatic.com/firebasejs/6.4.0/firebase-firestore.js"></script> 4<script src="main.js"></script> 5</body>

javascript

1 var firebaseConfig = { 2 apiKey: "", 3 authDomain: "", 4 databaseURL: "", 5 projectId: "", 6 storageBucket: "", 7 messagingSenderId: "", 8 appId: "" 9 }; 10 11 firebase.initializeApp(firebaseConfig); 12 13const db = firebase.firestore(); 14 15const collection = db.collection('messages'); 16 17collection.add({ 18 message: 'test' 19}) 20.then(doc => { 21 console.log(`${doc.id} added!`); 22}) 23.catch(error => { 24 console.log(error); 25});

試したこと

参考サイト

上記のサイトを参考にしてルールを書き換えてみましたが、結果は変わらずでした。

「Missing or insufficient permissions.」

と調べるといくつかの参考になりそうなウェブサイトは出てきましたが、内容が難しく分かりませんでした。

補足情報(FW/ツールのバージョンなど)

データベースの種類はCloudfirestoreです。

動画サイト

自分がチュートリアルを学んでいる動画サイトのURLです。有料会員ではなければ見れない内容なのですが、もしかすると役に立つかもしれないので貼っておきます。

追記

firebaseconfigの内容が空なので上手くいかないのでは?という回答がありました。
質問を投稿する際に消しているので、ファイルを実行する際にはしっかりと情報が入っています。
また、config情報はfirebaseのコンソールにあるものをコピペしているだけなので、問題はないと思われます。

###追記2
初心者なので、自分で調べてみても分からない解説ばかりでした。ただいくつかのページにルールを書き換えてみるとセキュリティの問題が解決するかもしれないと書いてありました。なので今のルールのスクリーンショットを貼り付けておきます。

イメージ説明

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chiba_kun

2019/08/17 19:21

動画サイトは利用者数が多く、質問の回答が返ってくるのに時間がかかりそうだな、と判断してこちらのサイトに質問を投稿しました。ただ、たしかにその方が良いかもしれませんね。ありがとうございます。
guest

回答3

0

Firebase errorの一行目に書いてあるあたりなので、
permissionの設定が正しくないようです。
データベースのセキュリティの設定は正しいでしょうか?

投稿2019/08/17 02:26

編集2019/08/17 02:55
hameji

総合スコア1380

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chiba_kun

2019/08/17 19:16

>>データベースのセキュリティの設定は正しいでしょうか? 初心者なもので、セキュリティの設定が正しいかどうかの判断が出来ません。。すみません。。 解説サイトのチュートリアル通りに進めたはずなので、変にコンソールをいじってしまったということはないはずです。ですが、恐らくセキュリティの設定が原因ですよね。。。 チュートリアルは一年程前の動画なので、もしかすると今のバージョンだとチュートリアル通りにすすめてもうまくいかないのかもしれません。
guest

0

自己解決

ルールを以下に書き換えることで自己解決することが出来ました。

rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write; } } }

投稿2019/08/19 01:26

chiba_kun

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

firebaseconfigの内容が空文字だからではないでしょうか。

投稿2019/08/17 01:48

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chiba_kun

2019/08/17 19:06

質問を投稿する際に情報を消しました。ファイルを実行する際にはしっかりと情報が書かれています。紛らわしくて申し訳ないです。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問