My Social
icon
yuji
yuji
Yuji Takayama
YUJITAKAYAMA
Six Apart, Ltd.
Senior Product Manager
Movable Type Lead Engineer
シックス・アパートで、働き始めて10年
Movable Type 一筋
好きなタグは <MTAssetProperty>
Data API Overview
REST/JSONを用いた標準的な Web API
API エンドポイントはバージョン単位で利用可能
MT のユーザー管理 / 認証を API でそのまま利用可能
エンドポイント、出力フォーマットなどプラグインで拡張可能
SDK ライブラリ: JavaScript / Swift / 有志の方の実装
10.
Data API v3
/authenticationエンドポイントでの認証パスワードを
「ログインパスワード」から「web サービスパスワード」に変更
GET /v3/authentication?
clientId=testClient
username=YOUR_ACCOUNT&
password=YOUR_WEB_SERVICES_PASSWORD
11.
Data API v3
list系のエンドポイントで日付による絞込が可能に
より柔軟、かつ適切なデータの抽出が可能
GET /v3/sites/:site_id/entries?
dateFrom=2015-11-01&
dateEnd=2015-11-30
12.
Why Data API?
PCやスマートフォンに限らず Web の世界は広がる
スマホ対応だけがマルチデバイス対応ではない
リッチな表現はフロントエンドで実現可能
Perl 以外の言語から Movable Type が利用できる
CMS で管理するコンテンツを API で利用する
Build web pages
Webpages
Mobile Applications
Templates
TV Watch
fridgeCar
Digital
Signage
Data API
<html>
Content
Data API
Any Devices
Other Services
After Data API
15.
Movable Type
User Management
UserAuthentication
Template Engine
Markup Language
Data Manage
Database Schama
Management Screen
Data API
Your Applications Your Web Services
Data API Case1 - COACH UNITED
• トップページの記事一覧を
Data API で無限スクロール
• ページ遷移が必要ない
• 【利用者目線】気になる記
事を探しやすく
• 【制作者目線】ページ分割
のための再構築が不要 = 負
荷が低減
http://coachunited.jp/
18.
Data API Case2 - ワンダードライビング
• エンドポイントを独自拡張
• Google Analytics と連携し、
アクセス数の多い記事をラ
ンキング表示
• 記事のサムネイルを生成
• 静的生成 + ダイナミックコ
ンテンツ
http://wonderdriving.com/
19.
Data API Case3 - 関連記事の表示
• 記事のタグを元に関連する
記事を動的に表示する
• 古い記事でも再構築なしで
情報がリアルタイムに表示
できる
• MTML + Data API
http://movabletype.jp/
20.
Data API Case4 - Movable Type Writer
• Google Chrome App
• HTML + JavaScript + CSS
• AngularJS + Bootstrap
• Movable Type の管理画面
を使わずにユーザーニーズ
に応える
• コンテンツに合わせて画面
をカスタマイズする
21.
Data API Case5 - Kintone plugin
• サイボウズ kintone から
Movable Typeへ Data API
で投稿HTML + JavaScript
+ CSS
• ワークフローに強い
kintone と MTML で自由な
デザインができる Movable
Type のコラボ
• それぞれの強みを活かせる
http://radical-bridge.com/product/kintone-mt-plugin.html
22.
Data API Case6 - Nintendo 3DS
• Nintendo 3DS でとった写
真を、Data API を利用して
Movable Type にアップロー
ドすることで、自前のフォ
トギャラリーを運営
• 写真を取り出してアップロー
ドするという手間がいらな
い
http://www.slideshare.net/kaorislideshare/six-apart
23.
Data API Case7 - オレグラム
• Data API で作成したウェブサ
イト & サービスのデモ
• バックエンドのプログラミン
グは一切なし。プラグインも
なし
• ファイルのアップロード、サ
ムネイル作成、バックグラウ
ンド再構築
• Data API を使えば、サービス
のバックエンドとして
Movable Type を利用可能
24.
Data API Case8 - ProNet 検索
http://www.sixapart.jp/pronet/
• カテゴリ、カスタムフィー
ルドによる絞り込み検索
• Data API で検索を実施
• Data API の実行は、AWS
上に構築した Movable
Type for AWS
• ウェブサイト用のデータベー
ス (RDS) を共有
25.
Data API Case9 - アクセスランキング
• Google Analytics と連携
• Data API で Google Analytics
のアクセス数を取得し、ア
クセスランキングを生成
http://www.movabletype.jp/blog/data-api-v2-06.html
26.
Data API Case10 - Movable Type for iOS
• Swift ライブラリを使った
iOS 用ネイティブアプリ
• ネイティブアプリだからこ
そのサクサク動作
• 必要最小限の API 呼び出し
• オフラインへの対応
http://www.sixapart.jp/movabletype/mtios/
Other examples…
Active Directoryへのアカウント登録と連動して Movable Type
にユーザーを登録する
商品DBへの登録と連動して、Movable Type に商品の記事を作成
する
$ mt user add userdata.json
$ mt entry add product.json