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

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

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

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

JavaScript

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

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

0回答

730閲覧

Uncaught (in promise) FirebaseError: Missing or insufficient permissions.の解決方法

madaratyou

総合スコア7

Firebase

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

JavaScript

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

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2020/12/22 05:17

前提・実現したいこと

Reactとfirebaseで簡単なチャットボットアプリを作成しています。
こちらの動画を参考に、Cloud FunctionsでAPIを作って、firebase上のデータベースからチャットボットのデータを置いて、チャットボットのコード内にデータを置かないと言う作業を行いました。

しかし、npm start でブラウザ上で確認すると、
Uncaught (in promise) FirebaseError: Missing or insufficient permissions.
というエラーが出てしまいました。

こちらの解決方法がわからないため、お力を貸していただきたいです。

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

Uncaught (in promise) FirebaseError: Missing or insufficient permissions. 

該当のソースコード

console上でエラーが出ている箇所を確認すると、prebuilt-011dd513-2a18b0ac.jsの418行目だそうです。

JavaScript

1function e(e, n) { 2 var r = this; 3 return (r = t.call(this, n) || this).code = e, r.message = n, r.name = "FirebaseError", // ←こちらが418行目です。 4 // HACK: We write a toString property directly because Error is not a real 5 // class and so inheritance does not work correctly. We could alternatively 6 // do the same "back-door inheritance" trick that FirebaseError does. 7 r.toString = function() { 8 return r.name + ": [code=" + r.code + "]: " + r.message; 9 }, r; 10 } 11 return b(e, t), e; 12}(Error), M = /** @class */ function() { 13 /** @hideconstructor */ 14 function t(t) { 15 this.l = t; 16 }

また、僕なりに調べた結果、どうやらfirebase.rulusとfunctionディレクトリ内のpackage.jsonが関係しているっぽいのでそちらのコードも載せておきます。

  • firebase.rulus
rules_version = '2'; // Allow read/write access on all documents to any user signed in to the application service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if request.auth.uid != null; } } }
  • function/package.json
{ "name": "functions", "scripts": { "lint": "eslint \"src/**/*\"", "build": "tsc", "serve": "npm run build && firebase emulators:start --only functions", "shell": "npm run build && firebase functions:shell", "start": "npm run shell", "deploy": "firebase deploy --only functions", "logs": "firebase functions:log" }, "engines": { "node": "10" }, "main": "lib/index.js", "dependencies": { "firebase-admin": "^9.2.0", "firebase-functions": "^3.11.0" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^3.9.1", "@typescript-eslint/parser": "^3.8.0", "eslint": "^7.6.0", "eslint-plugin-import": "^2.22.0", "typescript": "^3.8.0", "firebase-functions-test": "^0.2.0" }, "private": true }

試したこと・調べた記事

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

React create-react-app

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問