Movable Type 6 のData APIについて
Movable Type 6 では、新しいデータアクセスのしくみ (API、エーピーアイ) が導入されています。今回は、そのData API についてご紹介します。
API とは
そもそも、API とは何でしょうか。
APIとは、"Application Programing Interface (アプリケーション・プログラミング・インターフェイス)"の略で、主に OS や、アプリケーション ソフトウェアなどが、外部のプログラムと連携するために提供している規格や仕様のことです。
Twitter や Facebook などのウェブサイトも、外部のウェブサイトやアプリケーションむけに、自社のサービスを利用するためのウェブ API を提供しています。
Data API とは
Movable Type 6 から提供される Data APIも、Twitter や FacebookのAPIと同じような、ウェブ API となります。
具体的には
- Movable Type に保存されている記事や、コメントなどのデータを編集する
- 記事やコメントをあたらしく追加する
- スマートフォンから写真をアップロードする
Data API は、次のような特徴があります。
- MTML が分からなくても、HTML や JavaScript といった既存の技術を使ってサイトを構築することができる
- JavaScript や PHP など、Perl 以外の開発言語をつかうことができる
- Movable Type の認証・権限管理のしくみを利用しているためセキュアである
- スマートフォンアプリなど、ウェブサイト以外から利用することができる
- API を拡張して、独自のサービスやプラグインなどと連係することができる (Perlの知識が必要です)
また、JavaScript のライブラリが MIT ライセンスで提供されているので、むずかしいことをあまり覚えなくても使う事ができます。
サンプルコード (JavaScript)
var api = new MT.DataAPI({ baseUrl: "https://your-host/path/to/mt/mt-data-api.cgi", clientId: "your-client-id" }); api.listEntries(siteId, function(response) { for (var i = 0; i < response.items.length; i++) { var entry = response.items[i]; // Render an entry } });
Data API でできること
Data API を使うと、どんなことができるようになるのでしょうか。具体的な例をあげてみます。
- Movable Type のコミュニティ機能のような、ユーザー参加型のサイトをつくる
- Movable Type の管理画面をカスタマイズせずに、独自の管理画面をつくる
- 公開されているウェブサイトで、記事をインクリメンタル・サーチする
- ページを一番したまでスクロールしたら、自動的にページネーションする
- 必要最低限の再構築だけで、動的なサイトをつくる
もちろん、これら以外にもアイディアしだいでいろいろなことが実現できます。
Data API のドキュメントを読んで、みなさんのアイディアを実現してみてください。
実際の利用例
最後に、Data API を実際に使ってみた方々の記事を、いくつかご紹介します。
- Movable Type 6 の新機能Data APIから記事一覧を取得 (手順書.com)
- PHPを利用して、記事のタイトルやURLを表示する例を書いていただいてます。
- AngularJS + MovableType Data API でインクリメンタル検索してみた (タケユー・ブログ)
- Data APIを利用した検索機能の実装例です。
- Movable Type 6 の Data API を使ってその場で記事を更新できる拡張機能を作ってみた (かたつむりくんのwww)
- 公開ページのタイトルや文章を、その場で更新する実装例です。ビデオは必見!
- Data APIを使ってみる(1) (The blog of H.Fujimoto)
- MTコミュニティではおなじみの藤本壱さんによるブログ記事。1-5まで公開しています。
- MTDDC 2013の感想文 (あと味)
- MTDDC 2013のLightning Talkネタを紹介しています。Data APIを使った、かんたんなTODO管理アプリを作ってみたそうです。