質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Q&A

解決済

1回答

1001閲覧

Firebaseを使ってJsonでPostされてきたデータを取得したい

Robokun

総合スコア53

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

0グッド

0クリップ

投稿2019/04/18 00:36

Firebase内にFirastoreでデータベースを作り、
そこへ外部のCloudeサービスよりJson形式でPOSTされて来た
『温度、明るさ、GPS』情報をデータベースに登録したいと思っています。

現在の技術レベルが低いので、参考コードの載っているサイトを探しているのですが
よくわかりません。
ios経由でのデータベースの参照、登録アプリをつくっています。

おそらく、Functionを使って指定のURLの情報をFirestoreに変換して登録という作業かと思うのですが
申し訳ありませんが、Functionのコードで参考になるものはありませんか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ご想像の通り、firebase cloud functionsでhttpのエンドポイントを作り、そのエンドポイントでfirestoreに格納する形になります

index.ts

1import * as functions from 'firebase-functions'; 2import * as admin from 'firebase-admin'; 3 4admin.initializeApp(functions.config().firebase); 5const db = admin.firestore(); 6 7export const endpoint = functions.https.onRequest(async (req, res) => { 8 try { 9 if(req.method !== 'POST') throw new Error('POST method is only acceptable'); 10 11 await db.collection('collectionName').doc('documentId').set(req.body); 12 } catch (error){ 13 // エラー処理 14 } 15}); 16

細かい処理は書いていませんが、こんな感じになるかと思います。
非同期処理が絡んでくるのでasync / awaitを使えるTypeScriptの方がスッキリかけると思います。(javascriptでも使える場合はありますが実行環境に依存するのでオススメはしないでおきます。)

投稿2019/04/18 02:52

Swordroot_M

総合スコア36

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Robokun

2019/04/19 14:21

返信ありがとうございます。 返答頂いた内容を写経しまして、色々と思案させて頂きます。 理解してから質問をしたい事もあるかと思いますので、今しばらく、このままで放置させて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問