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