46
概説 Data API v3対応 MT-TOKYO - 21 Feb 22, 2016 YUJI TAKAYAMA @ Six Apart

概説 Data API v3

Embed Size (px)

Citation preview

Page 1: 概説 Data API v3

概説 Data API v3対応

MT-TOKYO - 21 Feb 22, 2016

YUJI TAKAYAMA @ Six Apart

Page 2: 概説 Data API v3

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

Six Apart とは

シックス・アパート株式会社

CMS(コンテンツ・マネジメント・システム)や、ブログサービス、

ソーシャルメディア連携サービスなど、企業のWEBマーケティングを

支援する製品・サービスを提供してい ます。

BLOG CMS

BLOG Service BLOG Service

Page 4: 概説 Data API v3

https://www.sixapart.jp/inquiry/jobs-engineer.html

Page 5: 概説 Data API v3

Movable Type とは

Movable Type 1.0 Movable Type 6.2.2

2001年 2015年

サンフランシスコ生まれの

世界標準 CMS パブリッシングプラットフォーム。

世界中のユーザーに使われ続けて 14年。

Page 6: 概説 Data API v3

全国に広がる Movable Type Users Group

北海道

東北

東京

新潟

長野

名古屋

関西

広島

愛媛

福岡

鹿児島

佐賀

熊本

日本全国に 13 のユーザーグループ

MTDDC Meetup

MT 勉強会

MT Cafe

MT Live

全国で開催されているイベント

Page 7: 概説 Data API v3

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

Data API Overview

Page 9: 概説 Data API v3

Data API Overview

REST/JSON を用いた標準的な Web API

API エンドポイントはバージョン単位で利用可能

MT のユーザー管理 / 認証を API でそのまま利用可能

エンドポイント、出力フォーマットなどプラグインで拡張可能

SDK ライブラリ: JavaScript / Swift / 有志の方の実装

Page 10: 概説 Data API v3

Data API v3

/authentication エンドポイントでの認証パスワードを

「ログインパスワード」から「web サービスパスワード」に変更

GET /v3/authentication? clientId=testClient username=YOUR_ACCOUNT& password=YOUR_WEB_SERVICES_PASSWORD

Page 11: 概説 Data API v3

Data API v3

list 系のエンドポイントで日付による絞込が可能に

より柔軟、かつ適切なデータの抽出が可能

GET /v3/sites/:site_id/entries? dateFrom=2015-11-01& dateEnd=2015-11-30

Page 12: 概説 Data API v3

Why Data API?

PC やスマートフォンに限らず Web の世界は広がる

スマホ対応だけがマルチデバイス対応ではない

リッチな表現はフロントエンドで実現可能

Perl 以外の言語から Movable Type が利用できる

CMS で管理するコンテンツを API で利用する

Page 13: 概説 Data API v3

Build web pages

Responsive Web Design

<html>

Content

Templates

Before Data API

Page 14: 概説 Data API v3

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

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

Case of Data API

Page 17: 概説 Data API v3

Data API Case 1 - COACH UNITED

• トップページの記事一覧を

Data API で無限スクロール

• ページ遷移が必要ない

• 【利用者目線】気になる記

事を探しやすく

• 【制作者目線】ページ分割

のための再構築が不要 = 負

荷が低減

http://coachunited.jp/

Page 18: 概説 Data API v3

Data API Case 2 - ワンダードライビング

• エンドポイントを独自拡張

• Google Analytics と連携し、

アクセス数の多い記事をラ

ンキング表示

• 記事のサムネイルを生成

• 静的生成 + ダイナミックコ

ンテンツ

http://wonderdriving.com/

Page 19: 概説 Data API v3

Data API Case 3 - 関連記事の表示

• 記事のタグを元に関連する

記事を動的に表示する

• 古い記事でも再構築なしで

情報がリアルタイムに表示

できる

• MTML + Data API

http://movabletype.jp/

Page 20: 概説 Data API v3

Data API Case 4 - Movable Type Writer

• Google Chrome App

• HTML + JavaScript + CSS

• AngularJS + Bootstrap

• Movable Type の管理画面

を使わずにユーザーニーズ

に応える

• コンテンツに合わせて画面

をカスタマイズする

Page 21: 概説 Data API v3

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

Data API Case 6 - Nintendo 3DS

• Nintendo 3DS でとった写

真を、Data API を利用して

Movable Type にアップロー

ドすることで、自前のフォ

トギャラリーを運営

• 写真を取り出してアップロー

ドするという手間がいらな

http://www.slideshare.net/kaorislideshare/six-apart

Page 23: 概説 Data API v3

Data API Case 7 - オレグラム

• Data API で作成したウェブサ

イト & サービスのデモ

• バックエンドのプログラミン

グは一切なし。プラグインも

なし

• ファイルのアップロード、サ

ムネイル作成、バックグラウ

ンド再構築

• Data API を使えば、サービス

のバックエンドとして

Movable Type を利用可能

Page 24: 概説 Data API v3

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

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

Data API Case 10 - Movable Type for iOS

• Swift ライブラリを使った

iOS 用ネイティブアプリ

• ネイティブアプリだからこ

そのサクサク動作

• 必要最小限の API 呼び出し

• オフラインへの対応

http://www.sixapart.jp/movabletype/mtios/

Page 27: 概説 Data API v3

DEMO

Page 28: 概説 Data API v3

Scenario / Use case

CLI で Movable Type を操作

Data API を使って MT からログを取得

取得したログをログ解析ツールに処理させる

エラーやセキュリティ上の問題の早期発見

Page 29: 概説 Data API v3

https://github.com/yuji/mtlog/blob/master/mtlog.go

Source Code

Page 30: 概説 Data API v3

Other examples…

Active Directory へのアカウント登録と連動して Movable Type

にユーザーを登録する

商品DBへの登録と連動して、Movable Type に商品の記事を作成

する

$ mt user add userdata.json

$ mt entry add product.json

Page 31: 概説 Data API v3

DEMO Part2

Page 32: 概説 Data API v3

Scenario

写真投稿ウェブサービス(○ンス○グラム)

スマホのアプリから投稿

スマホアプリとウェブ

http://54.65.19.34/ user: melody

password: mel0dynels0n

Page 33: 概説 Data API v3

Mobile Applications

Web Browser

Upload

Rebuild main index

Make thumbnail

System Diagram

Page 34: 概説 Data API v3

Knowledge

Page 35: 概説 Data API v3

http://www.movabletype.jp/developers/data-api/

Documentation Portal

Page 36: 概説 Data API v3

http://qiita.com/organizations/sixapart

Technical Know-How

Page 37: 概説 Data API v3

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

The future for Data API

Page 39: 概説 Data API v3

v3: getVersion

API のバージョン情報を API で取得可能に

不具合が修正済みなのか? このエンドポイントは使えるのか?

という判定に利用可能

GET /version

{ “endpointVersion":"v3", “apiVersion":3.1 }

Page 40: 概説 Data API v3

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

v3: Bump API version to 3.1

/version の導入、Sites リソースのフィールド追加により

API バージョンが 3.1 に

API エンドポイントは引き続き /v3/ のまま

Page 42: 概説 Data API v3

Data API v4

リソースのフィールド名やエンドポイントパラメータの整理

ユーティリティ系エンドポイント

list系でカスタムフィールドによるフィルタリングとソート

DataAPI の利用権限の制限

Page 43: 概説 Data API v3

Data API v4

OAuth 2

JSON Web Token

Anonymous Web Access Token

Web hook / Push / Notification

SDK

and more…

Page 44: 概説 Data API v3

Have fun with Data API!

Page 45: 概説 Data API v3

https://www.sixapart.jp/inquiry/jobs-engineer.html

Page 46: 概説 Data API v3

Thank you for listening