質問: Firebase内にFirastoreでデータベースを作り、 そこへ外部のCloudeサービスよりJson形式でPOSTされて来た 『温度、明るさ、GPS』情報をデータベースに登録したいと思っています。 現在の技術レベルが低いので、参考コードの載っているサイトを探しているのですが よくわかりません。 ios経由でのデータベースの参照、登録アプリをつくっています。 おそらく、Functionを使って指定のURLの情報をFirestoreに変換して登録という作業かと思うのですが 申し訳ありませんが、Functionのコードで参考になるものはありませんか?
回答: ご想像の通り、firebase cloud functionsでhttpのエンドポイントを作り、そのエンドポイントでfirestoreに格納する形になります ``` import * as functions from 'firebase-functions'; import * as admin from 'firebase-admin'; admin.initializeApp(functions.config().firebase); const db = admin.firestore(); export const endpoint = functions.https.onRequest(async (req, res) => { try { if(req.method !== 'POST') throw new Error('POST method is only acceptable'); await db.collection('collectionName').doc('documentId').set(req.body); } catch (error){ // エラー処理 } }); ``` 細かい処理は書いていませんが、こんな感じになるかと思います。 非同期処理が絡んでくるので`async / await`を使えるTypeScriptの方がスッキリかけると思います。(javascriptでも使える場合はありますが実行環境に依存するのでオススメはしないでおきます。)