2016/06/03

Firebaseをcurlで少しだけ試す

Googleに統合されたFirebaseを使ってIoTとスマホの連携を実践する ~ BRILLIANTSERVICE TECHNICAL BLOG

 

よくわからんが、ESP8266でもできるらしい!
と思ってやってみようかと思ったが、Arduino版か・・・。

curlでやれるようなので、少しだけ試してみよう。


上記の記事を見ながら、「プロジェクト登録」と「FirebaseのプロジェクトURLと認証シークレットIDを取得」までやっておく。

 

まず、データの書き込みをやってみる。
が、認証がいるらしい。。。
めんどうなので、認証無しでやれるようにしておく。
テストだからそうしているけど、危ないだろうね。。。

image

FirebaseのRulesを理解する - Qiita
理解はできてないのだけど、"true"にすると認証が不要ということはわかった。

試しに、同じページにあるシミュレータでやってみると、認証済みをオフにしていても実行は成功する。


Saving Data - Firebase

データをサーバに保存してもらうにはいくつか方法があるらしいが、PUTが簡単そうなのでそれをやってみよう。

 

$ curl -X PUT -d '{"test1":{"name":"hiro","date":"06/03"}}' 'https://XXXXXXXX.firebaseio.com/rest/saving-data/test.json'
{"test1":{"date":"06/03","name":"hiro"}}

 

URLのところは、上記で取得したプロジェクトURLというやつになる。
ブラウザで見ると、こうなった。

 

image

JSONのところは、整形するとこうなる。

{
  "test1":{
    "name": "hiro",
    "date": "06/03"
  }
}

test.jsonというファイル名として保存されたということかな?

もう一度、JSON部分のパラメータだけ変更して実行すると、test.jsonは上書きされていた。
なので、追加したかったら既存のに足すか、JSON名を変えるのだろう。


Retrieving Data - Firebase

こっちは読む方だろう。

$ curl 'https://XXXXXX.firebaseio.com/rest/saving-data/test.json?print=pretty'
{
  "test1" : {
    "date" : "06/03",
    "name" : "hiro"
  }
}

orderByを試そうとしたが、Indexが定義されていない、というエラーが返ってくる。
Indexがいるとか何とか。


ドキュメントは、こっちが新しいようだ。
でも、古い方がREST APIなんかは探しやすいかも。
Firebase Database REST API  |  Firebase

 

では、最後に削除して終わろう。
サーバ側のrulesも忘れず元に戻しておこう。

$ curl -X DELETE 'https://XXX.firebaseio.com/rest/saving-data/test.json'
null

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。