WordPress + WP-APIプラグイン + Titaniumアプリ

titanium_wordpress_wp-apiTitanium Advent Calendar 2015の9日目。WordPressとTitaniumアプリの連携。

TitaniumアプリからOAuth認証する方法を記事にしようと思ったけど、時間がなくなったので、WP-APIを使うと簡単にWordPressとやりとりできるよという話。

環境: CentOS 6.7, PHP 5.6.17, WordPress 4.3.1

 

目次

  1. WP REST API v2をインストール
  2. Titaniumアプリからデータ取得
  3. OAuth認証をしたい
  4. 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 >