Upload
yuji-takayama
View
682
Download
0
Embed Size (px)
Citation preview
概説 Data API v3対応
MT-TOKYO - 21 Feb 22, 2016
YUJI TAKAYAMA @ Six Apart
My Social
icon
yuji
yuji
Yuji Takayama
YUJI TAKAYAMASix Apart, Ltd.
Senior Product Manager Movable Type Lead Engineer
シックス・アパートで、働き始めて10年
Movable Type 一筋
好きなタグは <MTAssetProperty>
Six Apart とは
シックス・アパート株式会社
CMS(コンテンツ・マネジメント・システム)や、ブログサービス、
ソーシャルメディア連携サービスなど、企業のWEBマーケティングを
支援する製品・サービスを提供してい ます。
BLOG CMS
BLOG Service BLOG Service
https://www.sixapart.jp/inquiry/jobs-engineer.html
Movable Type とは
Movable Type 1.0 Movable Type 6.2.2
2001年 2015年
サンフランシスコ生まれの
世界標準 CMS パブリッシングプラットフォーム。
世界中のユーザーに使われ続けて 14年。
全国に広がる Movable Type Users Group
北海道
東北
東京
新潟
長野
名古屋
関西
広島
愛媛
福岡
鹿児島
佐賀
熊本
日本全国に 13 のユーザーグループ
MTDDC Meetup
MT 勉強会
MT Cafe
MT Live
全国で開催されているイベント
Movable Type Data API 3.0
REST/JSON API for every websites and applications
Released with Movable Type 6.2 on Oct 8, 2015
Data API Overview
Data API Overview
REST/JSON を用いた標準的な Web API
API エンドポイントはバージョン単位で利用可能
MT のユーザー管理 / 認証を API でそのまま利用可能
エンドポイント、出力フォーマットなどプラグインで拡張可能
SDK ライブラリ: JavaScript / Swift / 有志の方の実装
Data API v3
/authentication エンドポイントでの認証パスワードを
「ログインパスワード」から「web サービスパスワード」に変更
GET /v3/authentication? clientId=testClient username=YOUR_ACCOUNT& password=YOUR_WEB_SERVICES_PASSWORD
Data API v3
list 系のエンドポイントで日付による絞込が可能に
より柔軟、かつ適切なデータの抽出が可能
GET /v3/sites/:site_id/entries? dateFrom=2015-11-01& dateEnd=2015-11-30
Why Data API?
PC やスマートフォンに限らず Web の世界は広がる
スマホ対応だけがマルチデバイス対応ではない
リッチな表現はフロントエンドで実現可能
Perl 以外の言語から Movable Type が利用できる
CMS で管理するコンテンツを API で利用する
Build web pages
Responsive Web Design
<html>
Content
Templates
Before Data API
Build web pages
Web pages
Mobile Applications
Templates
TV Watch
fridgeCarDigital
Signage
Data API
<html>
Content
Data API
Any Devices
Other Services
After Data API
Movable Type
User Management User Authentication
Template Engine Markup Language
Data Manage Database SchamaManagement Screen
Data API
Your Applications Your Web Services
Case of Data API
Data API Case 1 - COACH UNITED
• トップページの記事一覧を
Data API で無限スクロール
• ページ遷移が必要ない
• 【利用者目線】気になる記
事を探しやすく
• 【制作者目線】ページ分割
のための再構築が不要 = 負
荷が低減
http://coachunited.jp/
Data API Case 2 - ワンダードライビング
• エンドポイントを独自拡張
• Google Analytics と連携し、
アクセス数の多い記事をラ
ンキング表示
• 記事のサムネイルを生成
• 静的生成 + ダイナミックコ
ンテンツ
http://wonderdriving.com/
Data API Case 3 - 関連記事の表示
• 記事のタグを元に関連する
記事を動的に表示する
• 古い記事でも再構築なしで
情報がリアルタイムに表示
できる
• MTML + Data API
http://movabletype.jp/
Data API Case 4 - Movable Type Writer
• Google Chrome App
• HTML + JavaScript + CSS
• AngularJS + Bootstrap
• Movable Type の管理画面
を使わずにユーザーニーズ
に応える
• コンテンツに合わせて画面
をカスタマイズする
Data API Case 5 - Kintone plugin
• サイボウズ kintone から
Movable Typeへ Data API
で投稿HTML + JavaScript
+ CSS
• ワークフローに強い
kintone と MTML で自由な
デザインができる Movable
Type のコラボ
• それぞれの強みを活かせる
http://radical-bridge.com/product/kintone-mt-plugin.html
Data API Case 6 - Nintendo 3DS
• Nintendo 3DS でとった写
真を、Data API を利用して
Movable Type にアップロー
ドすることで、自前のフォ
トギャラリーを運営
• 写真を取り出してアップロー
ドするという手間がいらな
い
http://www.slideshare.net/kaorislideshare/six-apart
Data API Case 7 - オレグラム
• Data API で作成したウェブサ
イト & サービスのデモ
• バックエンドのプログラミン
グは一切なし。プラグインも
なし
• ファイルのアップロード、サ
ムネイル作成、バックグラウ
ンド再構築
• Data API を使えば、サービス
のバックエンドとして
Movable Type を利用可能
Data API Case 8 - ProNet 検索
http://www.sixapart.jp/pronet/
• カテゴリ、カスタムフィー
ルドによる絞り込み検索
• Data API で検索を実施
• Data API の実行は、AWS
上に構築した Movable
Type for AWS
• ウェブサイト用のデータベー
ス (RDS) を共有
Data API Case 9 - アクセスランキング
• Google Analytics と連携
• Data API で Google Analytics
のアクセス数を取得し、ア
クセスランキングを生成
http://www.movabletype.jp/blog/data-api-v2-06.html
Data API Case 10 - Movable Type for iOS
• Swift ライブラリを使った
iOS 用ネイティブアプリ
• ネイティブアプリだからこ
そのサクサク動作
• 必要最小限の API 呼び出し
• オフラインへの対応
http://www.sixapart.jp/movabletype/mtios/
DEMO
Scenario / Use case
CLI で Movable Type を操作
Data API を使って MT からログを取得
取得したログをログ解析ツールに処理させる
エラーやセキュリティ上の問題の早期発見
https://github.com/yuji/mtlog/blob/master/mtlog.go
Source Code
Other examples…
Active Directory へのアカウント登録と連動して Movable Type
にユーザーを登録する
商品DBへの登録と連動して、Movable Type に商品の記事を作成
する
$ mt user add userdata.json
$ mt entry add product.json
DEMO Part2
Scenario
写真投稿ウェブサービス(○ンス○グラム)
スマホのアプリから投稿
スマホアプリとウェブ
http://54.65.19.34/ user: melody
password: mel0dynels0n
Mobile Applications
Web Browser
Upload
Rebuild main index
Make thumbnail
System Diagram
Knowledge
http://www.movabletype.jp/developers/data-api/
Documentation Portal
http://qiita.com/organizations/sixapart
Technical Know-How
Movable Type でのサイト構築や、プラグイン開発をしながら、「なんでこうなるの…」とか「こういうことできるのかな?」などと思うことはありませんか? そんなときは、ぜひ MT Live! にお越しください。
時間中は出入り自由。好きな時間にお越しいただき、作業をしながら、わからないところが出てきたときに質問すれば OKです。Six Apart の MT 開発エンジニアが必ず参加していますので、質問にお答えします。
その他、MTのスペシャリストの方々が毎回参加されています。雑談OKですので、ぜひ気軽に話しかけてください。
申し込みは不要です。毎回 Facebook にイベントを立てていますので、よろしければそちらで参加表明をお願いします!
毎月第 2・第 4 水曜日 16:00 ~ 20:00
MT Live!―― 悩みはココで解決!Movable Type に関するよろず相談・質問受け付けます ――
10 月 7 日(Co-Edo) 10 月 28日(TAM)11月 11日(Co-Edo) 11 月 25日(TAM)12月 9 日(Co-Edo) 12 月 未 定(TAM)
シックス・アパートの Facebook ページをフォローしてください。最新のイベント情報をお届けします。
第 2水曜 会場コワーキングスペース茅場町 Co-Edo※利用料:2時間 500 円/ 1日 1000 円
第 4水曜 会場TAM 東京 コワーキングスペース※利用料:無料(一般利用はできません)
――― 年内の開催予定 ―――
The future for Data API
v3: getVersion
API のバージョン情報を API で取得可能に
不具合が修正済みなのか? このエンドポイントは使えるのか?
という判定に利用可能
GET /version
{ “endpointVersion":"v3", “apiVersion":3.1 }
v3: New fields for Sites Resource
Movable Type 6.2 で追加されたデフォルトアップロード先などの
情報が取得可能に
Sites.uploadDestination { path raw } Sites.extraPath Sites.allowToChangeAtUpload Sites.operationIfExists Sites.normalizeOrientation Sites.autoRenameNonAscii
v3: Bump API version to 3.1
/version の導入、Sites リソースのフィールド追加により
API バージョンが 3.1 に
API エンドポイントは引き続き /v3/ のまま
Data API v4
リソースのフィールド名やエンドポイントパラメータの整理
ユーティリティ系エンドポイント
list系でカスタムフィールドによるフィルタリングとソート
DataAPI の利用権限の制限
Data API v4
OAuth 2
JSON Web Token
Anonymous Web Access Token
Web hook / Push / Notification
SDK
and more…
Have fun with Data API!
https://www.sixapart.jp/inquiry/jobs-engineer.html
Thank you for listening