SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
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の使い道が広が
る
• 拙作ライブラリをぜひご利用ください
ご清聴ありがとうございました

Weitere ähnliche Inhalte

Ähnlich wie Connect with Data API

Data api workshop at Co-Edo
Data api workshop at Co-EdoData api workshop at Co-Edo
Data api workshop at Co-Edo
Yuji Takayama
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
 
Tokyowebmining5 yokkuns
Tokyowebmining5 yokkunsTokyowebmining5 yokkuns
Tokyowebmining5 yokkuns
Yohei 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_Aug29
The Hive
 

Ähnlich wie 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
 

Mehr von Hajime Fujimoto

Mehr von 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)
 

Kürzlich hochgeladen

Kürzlich hochgeladen (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

Connect with Data API