SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
Connect with Data API
2016/11/12
MTDDC Meetup TOKYO 2016
藤本 壱
今日のアジェンダ
• 自己紹介
• Data APIの概要
• Excelとの連携
• モバイルアプリのバックエンド
• Raspberry PIとの連携
• まとめ
自己紹介
自己紹介その1
• 藤本 壱(ふじもと はじめ)
• 群馬県前橋市在住
• 本職はPC系のフリーライター
• Movable Typeのプラグインを
多数開発
4
自己紹介その2
• ブログ「The Blog of H.Fujimoto」
http://www.h-fj.com/blog/
5
Data APIの概要
Data APIとは
• Movable Type 6で追加された機能
• RESTでMovable Typeのデータにアクセス
例)記事にアクセス
http://…/mt-data-api.cgi/v3/sites/X/entries/Y
• 処理結果はJSON
• プログラム言語を問わない
• 公式ライブラリあり(JavaScript/Swift)
JavaScriptライブラリのコードの例
var api = new MT.DataAPI({
baseUrl: 'http://…/mt-data-api.cgi',
clientId: 'example'
});
api.listEntries(site_id, function(response){
// response.itemsが記事の配列
});
Data APIの事例(Web製作向け)
• 各種の動的出力
• ページネーション
• 検索
• 独自の管理画面
Data APIの事例(Web製作向け)
• SixApartのごはんレシピ
http://makanai.sixapart.jp/
Data APIの事例(Web製作向け)
• 独自の管理画面
→ 「MT7を先取り!? DataAPI と Riot.js で作
るユーザフレンドリーなダッシュボード」の
セッション(15時~)
Web製作以外でのData API利用
• 理論的にはさまざまな応用が可能
• 事例がほとんどない
• 公式ライブラリも少ない
Web製作以外の事例をご紹介
Excelとの連携
ありがちなこと
• ExcelやAccessで蓄えたデータをMovable Type
にインポートしたい
• でも既存のインポートプラグインでは
かゆいところに手が届かない…
• Movable Typeの記事等をExcelやAccessで処
理したい
• Movable Typeの管理画面は使わずに全部
Excelで済ませたい
• VBAなら分かるけどPerlは苦手…
そんなあなたに
Data API Library
For
VBA
Data API Library for VBA
• VBA(Visual Basic for Applications)でData
APIを扱うライブラリ
• SixApart謹製JavaScriptライブラリに近い構
文
• VBAでプログラムを組んでOfficeアプリと
Movable Typeを連携
デモをご覧ください
初期化と認証
' 初期化
Set api = New MTDataAPI
api.init BASE, CLIENT_ID
' 認証
Set params = New Scripting.Dictionary
params("username") = USERNAME
params("password") = PASSWORD
Set response = api.send("authenticate",
params)
記事作成部分
For i = 2 To 4
Set entry = New Scripting.Dictionary
entry("title") = Cells(i, 1).value
entry("body") = Cells(i, 2).value
entry("date") = api.convDate(Cells(i,3).value)
Set response = api.send("createEntry",
SITE_ID, entry)
Next
考えられる事例
• Accessと連携
• AccessのデータをMovable Typeに投入
• Wordと連携
• Wordで作成した文書をMovable Typeに投入し
てWeb化
• PowerPointとの連携
• スライドを画像に変換してMovable Typeに投
入
モバイルアプリのバックエンド
デモをご覧ください
• MTQuiz
→ Movable Typeに関する
クイズアプリ
クイズアプリの課題
• 出題するクイズをなるべく簡単に管理した
い
• アプリにクイズを埋め込むと管理が複雑化
• アプリとクイズデータを分離
• クイズデータをCMSで管理してインターネッ
ト経由で読み込み
Movable Type & Data API
Movable Typeでコンテンツを管理
• デモをご覧ください
Androidとの連携
Data API Library
For
Android
Data API Library for Android
• 拙作のData API用ライブラリ
• Androidのアプリに組み込む
• Volley(Google謹製HTTP通信ライブラリ)を
ベースに開発
認証
Map<String, String> params = new HashMap<String, String>();
params.put("username", USERNAME);
params.put("password", PASSWORD);
DataAPI.send("authenticate", params, new DataAPIListener() {
@Override
public void onResponse(JSONObject resp) {
// 認証成功時の処理
}
@Override
public void onError(VolleyError error) {
// 認証失敗時の処理
}
});
問題(記事)の読み込み
Map<String, String> params = new HashMap<String, String>();
params.put("limit",1);
params.put("offset",offset);
DataAPI.send("listEntries", SITE_ID, params,
new DataAPIListener() {
@Override
public void onResponse(JSONObject resp) {
// 読み込み成功時の処理
}
@Override
public void onError(VolleyError error) {
// 読み込み失敗時の処理
}
});
iOSとの連携
• Data API SDK for Swift
• シックスアパート公式
(関根元和氏作)
• Movable Type for iOSで利用
Swiftのコードの例
api.listSites(
success: {(result: [JSON]!, total:
Int!)-> Void in
// 通信成功時の処理
},
failure: {(error: JSON!)-> Void in
// 通信失敗時の処理
}
)
Raspberry PIとの連携
Raspberry PIの概要
• カードサイズのマイコン
• 安価(5,000円程度)
• センサー等の電子部品を接続可能
• IoT(Internet of Things)のベースとして利用
• Linuxが動作
• Raspbian(Debian系)
• 各種ディストリビューション
デモをご覧(お聞き)ください
• Movable Typeの記事を読み上げ
• 処理状況をLEDでお知らせ
状態 LED
記事読み込み中 赤
音声合成中 黄
音声再生中 緑
このシステムの構成
Raspberry PI
Movable Type
Open JTalk
Festival
(音声合成)
Data API
Data API Library for Python?
• Raspberry PIではPythonを多用(特に電子
工作関係)
• Data API Library for Pythonがあれば…
• Linuxで動作する言語なら何でも良いはず…
そこで
Data API Library
For
PHP
Data API Library for PHP
• 拙作のData API用ライブラリ
• PHPのプログラムからMovable Typeと通信
• PHPを含むWebページ
• PHPのスクリプト(コマンドラインから実行)
今回のスクリプト
require_once('mt-data-api.php');
…
… (初期化等)
…
$api = new MTDataAPI('http://…/mt-data-api.cgi', 'sample');
$response = $api->getEntry(SITE_ID, $entry_id);
if (isset($response['error'])) {
// エラー処理
}
else {
// $response['body']に文章
// Open JTalk/Festivalで音声合成
// aplayコマンドで再生
}
まとめ
CMSはWebだけのものではない
• CMS=Content Management System
• これまでのCMSはWebのコンテンツを管理
するもの
• スマートフォン/タブレットをはじめとしてコ
ンテンツの活用先が多様化
• Webコンテンツだけを管理する時代は終了
Data APIでWeb CMSから脱却
• Data APIでMovable Typeと様々なものを接
続可能
• Web以外にMovable Typeの使い道が広が
る
• 拙作ライブラリをぜひご利用ください
ご清聴ありがとうございました

Mais conteúdo relacionado

Semelhante a Connect with Data API

初めての Data API CMS どうでしょう - 仙台編 -
初めての Data API   CMS どうでしょう - 仙台編 -初めての Data API   CMS どうでしょう - 仙台編 -
初めての Data API CMS どうでしょう - 仙台編 -Yuji Takayama
 
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)Toru Kawamura
 
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api   cms どうでしょう - 大阪夏の陣初めての Data api   cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣Yuji Takayama
 
Data api workshop at Co-Edo
Data api workshop at Co-EdoData api workshop at Co-Edo
Data api workshop at Co-EdoYuji Takayama
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Yuji Takayama
 
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携CData Software Japan
 
初めての Data api
初めての Data api初めての Data api
初めての Data apiYuji Takayama
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践Shumpei Shiraishi
 
Tokyowebmining5 yokkuns
Tokyowebmining5 yokkunsTokyowebmining5 yokkuns
Tokyowebmining5 yokkunsYohei Sato
 
[Japanese Content] Lance Riedel_The App Server, The Hive in Tokyo_Aug29
[Japanese Content] Lance Riedel_The App Server, The Hive in Tokyo_Aug29[Japanese Content] Lance Riedel_The App Server, The Hive in Tokyo_Aug29
[Japanese Content] Lance Riedel_The App Server, The Hive in Tokyo_Aug29The Hive
 
Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...Tsuyoshi Hirayama
 
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLTaisuke Fukuno
 
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現インフラジスティックス・ジャパン株式会社
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)Yuji Takayama
 
Programming AWS with Python
Programming AWS with Python  Programming AWS with Python
Programming AWS with Python Yasuhiro Matsuo
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Sho Ito
 
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 OmoidenoteCouchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenotekitsugi
 

Semelhante a Connect with Data API (20)

初めての Data API CMS どうでしょう - 仙台編 -
初めての Data API   CMS どうでしょう - 仙台編 -初めての Data API   CMS どうでしょう - 仙台編 -
初めての Data API CMS どうでしょう - 仙台編 -
 
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
 
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api   cms どうでしょう - 大阪夏の陣初めての Data api   cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣
 
Data api workshop at Co-Edo
Data api workshop at Co-EdoData api workshop at Co-Edo
Data api workshop at Co-Edo
 
HTML5&API総まくり
HTML5&API総まくりHTML5&API総まくり
HTML5&API総まくり
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
 
ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携ADO.NETでつながるクラウドデータ連携
ADO.NETでつながるクラウドデータ連携
 
初めての Data api
初めての Data api初めての Data api
初めての Data api
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
 
Tokyowebmining5 yokkuns
Tokyowebmining5 yokkunsTokyowebmining5 yokkuns
Tokyowebmining5 yokkuns
 
[Japanese Content] Lance Riedel_The App Server, The Hive in Tokyo_Aug29
[Japanese Content] Lance Riedel_The App Server, The Hive in Tokyo_Aug29[Japanese Content] Lance Riedel_The App Server, The Hive in Tokyo_Aug29
[Japanese Content] Lance Riedel_The App Server, The Hive in Tokyo_Aug29
 
Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...
 
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
 
Chatterを使ったカスタムソーシャル
Chatterを使ったカスタムソーシャルChatterを使ったカスタムソーシャル
Chatterを使ったカスタムソーシャル
 
HTML5最新動向
HTML5最新動向HTML5最新動向
HTML5最新動向
 
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
 
Programming AWS with Python
Programming AWS with Python  Programming AWS with Python
Programming AWS with Python
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
 
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 OmoidenoteCouchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
 

Mais de Hajime Fujimoto

Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSIONMovable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSIONHajime Fujimoto
 
コンテンツタイプの活用と拡張
コンテンツタイプの活用と拡張コンテンツタイプの活用と拡張
コンテンツタイプの活用と拡張Hajime Fujimoto
 
Objecttreeプラグイン&ObjectRelationプラグインのご紹介
Objecttreeプラグイン&ObjectRelationプラグインのご紹介Objecttreeプラグイン&ObjectRelationプラグインのご紹介
Objecttreeプラグイン&ObjectRelationプラグインのご紹介Hajime Fujimoto
 
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介Hajime Fujimoto
 
Movable Typeの権限と承認フロー
Movable Typeの権限と承認フローMovable Typeの権限と承認フロー
Movable Typeの権限と承認フローHajime Fujimoto
 
2つの「Layout」プラグインでMovable Typeをパワーアップ
2つの「Layout」プラグインでMovable Typeをパワーアップ2つの「Layout」プラグインでMovable Typeをパワーアップ
2つの「Layout」プラグインでMovable TypeをパワーアップHajime Fujimoto
 
はじめよう!MovableType.net ハンズオン
はじめよう!MovableType.net ハンズオンはじめよう!MovableType.net ハンズオン
はじめよう!MovableType.net ハンズオンHajime Fujimoto
 
JavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData APIJavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData APIHajime Fujimoto
 
JavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData APIJavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData APIHajime Fujimoto
 
Data APIの背景と活用方法 MTCafe Nagoya Ver.
Data APIの背景と活用方法 MTCafe Nagoya Ver.Data APIの背景と活用方法 MTCafe Nagoya Ver.
Data APIの背景と活用方法 MTCafe Nagoya Ver.Hajime Fujimoto
 
Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法Hajime Fujimoto
 
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法Hajime Fujimoto
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable TypeHajime Fujimoto
 
Data APIの背景と活用方法
Data APIの背景と活用方法Data APIの背景と活用方法
Data APIの背景と活用方法Hajime Fujimoto
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable TypeHajime Fujimoto
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable TypeHajime Fujimoto
 
WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)Hajime Fujimoto
 

Mais de Hajime Fujimoto (20)

Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSIONMovable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
 
コンテンツタイプの活用と拡張
コンテンツタイプの活用と拡張コンテンツタイプの活用と拡張
コンテンツタイプの活用と拡張
 
PowerCMSとIoTの連携
PowerCMSとIoTの連携PowerCMSとIoTの連携
PowerCMSとIoTの連携
 
Objecttreeプラグイン&ObjectRelationプラグインのご紹介
Objecttreeプラグイン&ObjectRelationプラグインのご紹介Objecttreeプラグイン&ObjectRelationプラグインのご紹介
Objecttreeプラグイン&ObjectRelationプラグインのご紹介
 
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
 
Movable Typeの権限と承認フロー
Movable Typeの権限と承認フローMovable Typeの権限と承認フロー
Movable Typeの権限と承認フロー
 
2つの「Layout」プラグインでMovable Typeをパワーアップ
2つの「Layout」プラグインでMovable Typeをパワーアップ2つの「Layout」プラグインでMovable Typeをパワーアップ
2つの「Layout」プラグインでMovable Typeをパワーアップ
 
はじめよう!MovableType.net ハンズオン
はじめよう!MovableType.net ハンズオンはじめよう!MovableType.net ハンズオン
はじめよう!MovableType.net ハンズオン
 
JavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData APIJavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData API
 
JavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData APIJavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData API
 
Data APIの背景と活用方法 MTCafe Nagoya Ver.
Data APIの背景と活用方法 MTCafe Nagoya Ver.Data APIの背景と活用方法 MTCafe Nagoya Ver.
Data APIの背景と活用方法 MTCafe Nagoya Ver.
 
Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法
 
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法
 
Data APIの基本
Data APIの基本Data APIの基本
Data APIの基本
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable Type
 
Data APIの背景と活用方法
Data APIの背景と活用方法Data APIの背景と活用方法
Data APIの背景と活用方法
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable Type
 
Vagrantのすすめ
VagrantのすすめVagrantのすすめ
Vagrantのすすめ
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable Type
 
WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)
 

Connect with Data API