Ameba Ownd

アプリで簡単、無料ホームページ作成

Dev Log

firebase cloud functions から firebase cloud firestore につなぐ

2019.01.19 15:30



ただし、この記事の説明に用いたソースコードには return を書いていないため、ブラウザには何も返ってこずタイムアウトする


( 実行結果1: firestore )


( 実行結果2: functions のログ )



手順

1. 必要なモジュールをインポートしてアプリを初期化する

    1. firebase init --project projectname functions
    2. cd functions
    3. 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);

        });

});



( 参考リンク )