WordPress + WP-APIプラグイン + Titaniumアプリ
Titanium Advent Calendar 2015の9日目。WordPressとTitaniumアプリの連携。
TitaniumアプリからOAuth認証する方法を記事にしようと思ったけど、時間がなくなったので、WP-APIを使うと簡単にWordPressとやりとりできるよという話。
環境: CentOS 6.7, PHP 5.6.17, WordPress 4.3.1
目次
- WP REST API v2をインストール
- Titaniumアプリからデータ取得
- OAuth認証をしたい
- WordPress.org + Node.js
参考
1.WP REST API v2をインストール
ダウンロードしてきて、wp-content/pluginsに配置してアクティベートする。
管理画面のSettings → Permalinksで「Default」以外を選んでRewriteを有効にしておく。
これでREST APIが有効になったか確認。
http://dev.wordpress.com/wp-json/wp/v2/posts/
のURLにアクセスしてみるとJSON形式のデータを取得できる。
2.Titaniumアプリからデータ取得
Titanium Studioから新規アプリを作成してapp.jsを下記のように編集。
var win = Ti.UI.createWindow({
backgroundColor:'#fff'
});win.add(Ti.UI.createButton({
title: 'Get data from WordPress'
}));
win.children[0].addEventListener('click', function() {
var client = Ti.Network.createHTTPClient({
onload: function(e) {
console.log(JSON.parse(e.source.responseText));
}
});client.open('GET', 'http://dev.wordpress.com/wp-json/wp/v2/posts/');
client.send();
});// Open
win.open();
iPhone Simulatorで起動する。
$ ti build -p iphone -T simulator --sim-64bit --tall
ボタンを押すとWordPressから取得したデータをコンソールに出力する。
3.OAuth認証をしたい
ここからは覚書(というか途中で断念)。
WP-APIのドキュメントには、GitHubに公開されているプラグインを使うとOAuth認証が可能と書いてある。
しかし、アクティベートしてからトークンを取得するまでOAuthを理解していないときつい。いいサンプルが見つからなかった。
「WP OAuth Server」というプラグインを使うと簡単に実現できそう。
Titanium Mobileアプリのサンプルを公式サイトからダウンロードできる。
ライセンスキーを購入する必要があるみたいだけど、ソースコードがGPLで公開されているので改変して使えるかもしれない。
4.WordPress.org + Node.js
仕事ではサーバー側をNode.jsで作っている。最近WordPressがNode.jsに近づいている雰囲気なので、近い将来JavaScriptを知っていればアプリからサーバーまで完結できるかも。
< Related Posts >