firebase cloud functions から firebase cloud firestore につなぐ
- ブラウザから fuctions API を呼び出す URL を入力
- firestore にデータが入っていることを確認できればok
ただし、この記事の説明に用いたソースコードには return を書いていないため、ブラウザには何も返ってこずタイムアウトする
( 実行結果1: firestore )
( 実行結果2: functions のログ )
手順
1. 必要なモジュールをインポートしてアプリを初期化する
- firebase init --project projectname functions
- cd functions
- npm install firebase
2. firestore を開始する
とりあえずテストモードで
2. functions/index.js を修正
( 初期状態 )
const functions = require('firebase-functions');
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
// exports.helloWorld = functions.https.onRequest((request, response) => {
// response.send("Hello from Firebase!");
// });
( 追記1. Firebase および Firestore の初期化 )
const firebase = require("firebase");
// Required for side-effects
require("firebase/firestore");
firebase.initializeApp({
// apiKey: '### FIREBASE API KEY ###', <- テストモードなのでコメントアウト
// authDomain: '### FIREBASE AUTH DOMAIN ###', <- 同上
projectId: 'Project ID'
});
// Initialize Cloud Firestore through Firebase
var db = firebase.firestore();
( 追記2. functions の実行部分 )
// Take the text parameter passed to this HTTP endpoint and insert it into the
// Realtime Database under the path /messages/:pushId/original
exports.addMessage = functions.https.onRequest((req, res) => {
db.collection("users").add({
first: "Ada",
last: "Lovelace",
born: 1815
})
.then(function(docRef) {
console.log("Document written with ID: ", docRef.id);
})
.catch(function(error) {
console.error("Error adding document: ", error);
});
});
( 参考リンク )