flamelinkというサービスとfirebaseを使ってブログサービスを作ろうとしています
flamelinkでブログ記事投稿用のスキーマを作成しています
flamelinkから投稿した記事をfirebaseのDBに保存させています。
下記記事を参考に作成しました
https://paiza.hatenablog.com/entry/2018/11/21/%E4%BB%8A%E3%81%99%E3%81%90%E5%A7%8B%E3%82%81%E3%82%89%E3%82%8C%E3%82%8B%EF%BC%81FIrebase%E3%82%92%E3%83%96%E3%83%AD%E3%82%B0%E3%81%AECMS%E3%81%AB%E5%A4%89%E3%81%88%E3%82%8B%E3%80%8CFlamelink%E3%80%8D
firebase(Database)の設定(Realtime Database)
realtimeDatabase.settings.json
1{ 2 "rules": { 3 "flamelink": { 4 ".read": true, 5 ".write": "auth != null", 6 "users": { 7 ".indexOn": ["email", "id"] 8 } 9 } 10 } 11}
databaseに保存されている内容をjavascriptを使ってhtmlファイルに読み込ませようとしています
<!doctype html> <html lang="ja"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>サンプルブログ</title> <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container"> <header class="blog-header py-3"> <div class="text-center"> <a class="blog-header-logo text-dark" href="#">サンプルブログ</a> </div> </header> <div class="nav-scroller py-1 mb-2"> <nav class="nav d-flex justify-content-between"> <a class="p-2 text-muted" href="#">雑記</a> <a class="p-2 text-muted" href="#">テクノロジー</a> <a class="p-2 text-muted" href="#">スマホ</a> <a class="p-2 text-muted" href="#">サイエンス</a> <a class="p-2 text-muted" href="#">健康</a> <a class="p-2 text-muted" href="#">旅行</a> <a class="p-2 text-muted" href="#">カルチャー</a> </nav> </div> </div> <main role="main" class="container"> <div class="row"> <div id="contents" class="col-md-8 blog-main"></div> <aside class="col-md-4 blog-sidebar"> <div class="p-3 mb-3 bg-light rounded"> <h4 class="font-italic">About</h4> <p class="mb-0">これはFlamelinkを使ったサンプルのブログサイトです</p> </div> <div class="p-3"> <h4 class="font-italic">Archives</h4> <ol class="list-unstyled mb-0"> <li><a href="#">November 2018</a></li> <li><a href="#">October 2018</a></li> <li><a href="#">September 2018</a></li> <li><a href="#">August 2018</a></li> <li><a href="#">July 2018</a></li> <li><a href="#">June 2018</a></li> <li><a href="#">May 2018</a></li> <li><a href="#">April 2018</a></li> </ol> </div> </aside> </div> </main> <footer class="blog-footer"> <p>Blog template built for <a href="https://getbootstrap.com/">Bootstrap</a></p> </footer> <script src="https://www.gstatic.com/firebasejs/6.2.0/firebase-app.js"></script> <script src="https://unpkg.com/flamelink/dist/flamelink.js"></script> <script> var firebaseConfig = { apiKey: "xxxxxxxxxxxxxxxxxxxxxx", authDomain: "xxxxxxxxxxxxxxxxxxxxxx.firebaseapp.com", databaseURL: "https://xxxxxxxxxxxxxxxxxxxxxx.firebaseio.com/", projectId: "xxxxxxxxxxxxxxxxxxxxxx", storageBucket: "xxxxxxxxxxxxxxxxxxxxxx.appspot.com" }; const firebaseApp = firebase.initializeApp(firebaseConfig); const app = flamelink({ firebaseApp }); app.content.get('myposts') .then(posts => { Object.keys(posts).forEach(function(data) { contents.innerHTML += '<div class="blog-post"><h2 class="blog-post-title">'+ posts[data].title +'</h2>'+ '<p class="blog-post-meta">'+ posts[data].date + '</p>'+ posts[data].content +'</div>' }) }) .catch(error => console.error("Something went wrong while retrieving all the content. Details:", error)) </script> </body> </html>
ローカルでブラウザを使ってhtmlファイルを呼び出すと記事の反映はなく開発ツールのconsoleを確認するとエラーが発生していました
以下エラー文です
universalModuleDefinition:1 Error: [FLAMELINK] The Database service is not available. Make sure the "databaseURL" property is provided. at t.default (universalModuleDefinition:1) at Object.ref (universalModuleDefinition:1) at Object.subscribeRaw (universalModuleDefinition:1) at Object.subscribe (universalModuleDefinition:1) at u (universalModuleDefinition:1) at index.html:79
firebaseのdatabaseを確認するとflamelinkで作成した記事が確認できているので
おそらくはfirebaseとの接続設定が間違っているものと推測しています。
どなたかご助力のほどよろしくお願いします
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。