Copyright @ NIFTY Corporation All Rights
ニフティクラウド

mobile backend
のREST APIについて
ニフティクラウド mobile backend
エヴァンジェリスト 中津川篤司
Copyright @ NIFTY Corporation All Rights
自己紹介
2
@moongift
fb.me/moongift.fan
中津川 篤司
株式会社MOONGIFT 代表取締役
ニフティクラウド mobile backend
          エヴァンジェリスト
2004年1月よりオープンソース・ソフトウェアを毎
日紹介するブログ MOONGIFT を運営。
http://www.moongift.jp/
Copyright @ NIFTY Corporation All Rights
過去にやっていたサイト
Copyright @ NIFTY Corporation All Rights
ニフティクラウド mobile backnend
について
4
@niftycloud_mb
fb.me/niftycloudmb
ニフティクラウド mobile backend
ニフティ株式会社の提供するmBaaS
スマートフォン/Webアプリのバックエンド(サー
バサイド)の仕組みを一括提供
http://mb.cloud.nifty.com/
Copyright @ NIFTY Corporation All Rights
アジェンダ
5
1. 自己紹介(済)
2. mBaaS/NCMBについて
3. API仕様
4. デモ
5. NCMBの価格/プラン
6. まとめ
Copyright @ NIFTY Corporation All Rights
mBaaSとは?
6
スマートフォン/Webアプリのバックエンド(サー
バサイド)の仕組みを一括提供
 → mobile Backend as a Serviceの略
Copyright @ NIFTY Corporation All Rights
アプリとサーバの現状
7
アプリ サーバ
・認証
・結果
・データ(テキスト/バイナリ)
・プッシュ通知
だいたい同じ
Copyright @ NIFTY Corporation All Rights
サーバに求められるもの
8
・安定性
・セキュリティ対策
・定期的なアップデート
絶対に落ちないこと!
高速に動き続けること!
クラックされないこと!
Copyright @ NIFTY Corporation All Rights
mBaaSに置き換えてみる
9
アプリ
・認証
・結果
・データ(テキスト/バイナリ)
・プッシュ通知
ニフティクラウド
mobile backend
アプリの開発に集中!
Copyright @ NIFTY Corporation All Rights
ニフティクラウド mobile
backendの主な機能
10
プッシュ通知
データ
ストレージ
ファイル
ストレージ
SNS連携 認証
位置情報
検索
Copyright @ NIFTY Corporation All Rights
対応プラットフォーム
11
Objective-C

(2014年12月より64bit対応)
Android
JavaScript

(2014年12月よりnodeサポート!)
Unity
Copyright @ NIFTY Corporation All Rights
Web API
12
RESTなAPI
・データの追加、更新、削除、検索
・バイナリファイルの追加、更新、削除、検索
・認証
・プッシュ通知の追加、更新、削除、検索
https://github.com/moongift/ncmb-ruby-client
Copyright @ NIFTY Corporation All Rights
仕様(シグネチャ)
• リクエストメソッド
• FQDN
• リクエストしたAPIのパス
• クエリストリング
• アプリケーションキー
• シグネチャメソッド
• シグネチャバージョン
• タイムスタンプ(ISO8601)
HmacSHA256

クライアントキー
Base64
13
Copyright @ NIFTY Corporation All Rights
仕様(ヘッダー)
• X-NCMB-Application-Key

アプリケーションキー
• X-NCMB-Signature

シグネチャ
• X-NCMB-Timestamp

タイムスタンプ
• X-NCMB-Apps-Session-Token

アプリセッショントークン
14
Copyright @ NIFTY Corporation All Rights
仕様(サーバ)
• CORSサポート
• JavaScriptからデータの登録(POST)更新(PUT)が
可能
• JavaScriptからファイルのアップロードが可能
15
Copyright @ NIFTY Corporation All Rights
データストア
16
スキーマレスなデータベース
• オブジェクト登録:POST
• オブジェクト取得:GET
• オブジェクト更新:PUT
• オブジェクト削除:DELETE
• オブジェクト検索:GET
• 複数オブジェクト操作:POST
Copyright @ NIFTY Corporation All Rights
認証
17
Twitter/FBもサポートした認証
• ユーザ登録:POST
• 会員登録メール要求:POST
• ログイン:GET
• ログアウト:GET
• パスワード再発行:POST
• ロール管理:REST
Copyright @ NIFTY Corporation All Rights
プッシュ通知
18
プッシュ作成もPOST一つ
• プッシュ通知登録:POST
• 開封登録:POST
• デバイストークン登録:POST
Copyright @ NIFTY Corporation All Rights
ファイルストレージ
19
画像やレポート、HTMLなど
• ファイル登録:POST
• ファイル更新:PUT
• 公開ファイル取得:GET
Copyright @ NIFTY Corporation All Rights
問題点
20
アプリケーションキー、クライアントキー
が漏洩するとアクセスできてしまう
JavaScriptだとソースの中身が見えてしまう…
署名処理だけサーバ化することで回避
https://github.com/moongift/ncmb-server
Copyright @ NIFTY Corporation All Rights
デモ
21
Dropbox上で動く掲示板
bit.ly/ncmb-chat
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
料金プラン
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
Basicプラン
200万!
200万!
5GB!
月額
無料
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
mikan 最速の英単語 リスニングもマスター
https://www.youtube.com/watch?v=5ujG-0zrtrw
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
開発で困ったら?
bit.ly/ncmb-community
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
明日CROSSやります!
http://2015.cross-party.com/
Copyright @ NIFTY Corporation All Rights
@niftycloud_mb
https://fb.me/niftycloudmb

ニフティクラウド mobile backendのREST APIについて

  • 1.
    Copyright @ NIFTYCorporation All Rights ニフティクラウド
 mobile backend のREST APIについて ニフティクラウド mobile backend エヴァンジェリスト 中津川篤司
  • 2.
    Copyright @ NIFTYCorporation All Rights 自己紹介 2 @moongift fb.me/moongift.fan 中津川 篤司 株式会社MOONGIFT 代表取締役 ニフティクラウド mobile backend           エヴァンジェリスト 2004年1月よりオープンソース・ソフトウェアを毎 日紹介するブログ MOONGIFT を運営。 http://www.moongift.jp/
  • 3.
    Copyright @ NIFTYCorporation All Rights 過去にやっていたサイト
  • 4.
    Copyright @ NIFTYCorporation All Rights ニフティクラウド mobile backnend について 4 @niftycloud_mb fb.me/niftycloudmb ニフティクラウド mobile backend ニフティ株式会社の提供するmBaaS スマートフォン/Webアプリのバックエンド(サー バサイド)の仕組みを一括提供 http://mb.cloud.nifty.com/
  • 5.
    Copyright @ NIFTYCorporation All Rights アジェンダ 5 1. 自己紹介(済) 2. mBaaS/NCMBについて 3. API仕様 4. デモ 5. NCMBの価格/プラン 6. まとめ
  • 6.
    Copyright @ NIFTYCorporation All Rights mBaaSとは? 6 スマートフォン/Webアプリのバックエンド(サー バサイド)の仕組みを一括提供  → mobile Backend as a Serviceの略
  • 7.
    Copyright @ NIFTYCorporation All Rights アプリとサーバの現状 7 アプリ サーバ ・認証 ・結果 ・データ(テキスト/バイナリ) ・プッシュ通知 だいたい同じ
  • 8.
    Copyright @ NIFTYCorporation All Rights サーバに求められるもの 8 ・安定性 ・セキュリティ対策 ・定期的なアップデート 絶対に落ちないこと! 高速に動き続けること! クラックされないこと!
  • 9.
    Copyright @ NIFTYCorporation All Rights mBaaSに置き換えてみる 9 アプリ ・認証 ・結果 ・データ(テキスト/バイナリ) ・プッシュ通知 ニフティクラウド mobile backend アプリの開発に集中!
  • 10.
    Copyright @ NIFTYCorporation All Rights ニフティクラウド mobile backendの主な機能 10 プッシュ通知 データ ストレージ ファイル ストレージ SNS連携 認証 位置情報 検索
  • 11.
    Copyright @ NIFTYCorporation All Rights 対応プラットフォーム 11 Objective-C
 (2014年12月より64bit対応) Android JavaScript
 (2014年12月よりnodeサポート!) Unity
  • 12.
    Copyright @ NIFTYCorporation All Rights Web API 12 RESTなAPI ・データの追加、更新、削除、検索 ・バイナリファイルの追加、更新、削除、検索 ・認証 ・プッシュ通知の追加、更新、削除、検索 https://github.com/moongift/ncmb-ruby-client
  • 13.
    Copyright @ NIFTYCorporation All Rights 仕様(シグネチャ) • リクエストメソッド • FQDN • リクエストしたAPIのパス • クエリストリング • アプリケーションキー • シグネチャメソッド • シグネチャバージョン • タイムスタンプ(ISO8601) HmacSHA256
 クライアントキー Base64 13
  • 14.
    Copyright @ NIFTYCorporation All Rights 仕様(ヘッダー) • X-NCMB-Application-Key
 アプリケーションキー • X-NCMB-Signature
 シグネチャ • X-NCMB-Timestamp
 タイムスタンプ • X-NCMB-Apps-Session-Token
 アプリセッショントークン 14
  • 15.
    Copyright @ NIFTYCorporation All Rights 仕様(サーバ) • CORSサポート • JavaScriptからデータの登録(POST)更新(PUT)が 可能 • JavaScriptからファイルのアップロードが可能 15
  • 16.
    Copyright @ NIFTYCorporation All Rights データストア 16 スキーマレスなデータベース • オブジェクト登録:POST • オブジェクト取得:GET • オブジェクト更新:PUT • オブジェクト削除:DELETE • オブジェクト検索:GET • 複数オブジェクト操作:POST
  • 17.
    Copyright @ NIFTYCorporation All Rights 認証 17 Twitter/FBもサポートした認証 • ユーザ登録:POST • 会員登録メール要求:POST • ログイン:GET • ログアウト:GET • パスワード再発行:POST • ロール管理:REST
  • 18.
    Copyright @ NIFTYCorporation All Rights プッシュ通知 18 プッシュ作成もPOST一つ • プッシュ通知登録:POST • 開封登録:POST • デバイストークン登録:POST
  • 19.
    Copyright @ NIFTYCorporation All Rights ファイルストレージ 19 画像やレポート、HTMLなど • ファイル登録:POST • ファイル更新:PUT • 公開ファイル取得:GET
  • 20.
    Copyright @ NIFTYCorporation All Rights 問題点 20 アプリケーションキー、クライアントキー が漏洩するとアクセスできてしまう JavaScriptだとソースの中身が見えてしまう… 署名処理だけサーバ化することで回避 https://github.com/moongift/ncmb-server
  • 21.
    Copyright @ NIFTYCorporation All Rights デモ 21 Dropbox上で動く掲示板 bit.ly/ncmb-chat
  • 22.
    Copyright © NIFTYCorporation All Rights Reserved. ‹#› 料金プラン
  • 23.
    Copyright © NIFTYCorporation All Rights Reserved. ‹#› Basicプラン 200万! 200万! 5GB! 月額 無料
  • 24.
    Copyright © NIFTYCorporation All Rights Reserved. ‹#› mikan 最速の英単語 リスニングもマスター https://www.youtube.com/watch?v=5ujG-0zrtrw
  • 25.
    Copyright © NIFTYCorporation All Rights Reserved. ‹#› 開発で困ったら? bit.ly/ncmb-community
  • 26.
    Copyright © NIFTYCorporation All Rights Reserved. ‹#› 明日CROSSやります! http://2015.cross-party.com/
  • 27.
    Copyright @ NIFTYCorporation All Rights @niftycloud_mb https://fb.me/niftycloudmb