書籍でFirebaseの勉強をしているのですが、データベース内のデータのsnapshotをうまく取得できません。
テスト用ローカルサーバが起動し、
firebase serve --only functions
別ターミナルで以下のコマンドを実行し、取得しようとしました。
curl http://localhost:5000/[プロジェクト名]/v1/channels
curlコマンドでは取得できないのでしょうか。もしくは、あまり考えたくないのですが、書籍のサンプルに問題があるのでしょうか。
よろしくお願いいたします。
書籍のコード(全文)
https://github.com/okachijs/jsframeworkbook/blob/master/2_5_server/functions/index.js
以下は、該当箇所です。
JavaSCript
1const functions = require('firebase-functions'); 2const admin = require('firebase-admin'); 3admin.initializeApp(functions.config().firebase); 4const express = require('express'); 5const app = express(); 6const cors = require('cors')({origin: true}); 7app.use(cors); 8 9app.get('/channels', (req, res) => { 10 let channelsRef = admin.database().ref('channels'); 11 channelsRef.once('value', function(snapshot) { 12 let items = new Array(); 13 snapshot.forEach(function(childSnapshot) { 14 let cname = childSnapshot.key; 15 items.push(cname); 16 }); 17 res.header('Content-Type', 'application/json; charset=utf-8'); 18 res.send({channels: items}); 19 }); 20});
あなたの回答
tips
プレビュー