Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Data API DocumentData API ドキュメント

はじめに

Movable Type Data API とは?

Movable Type 6 から搭載されている Web API です。さまざまなプログラム言語から REST/JSON方式で Movable Type にアクセスし、データの取得や更新ができます。

Data API を使えば、CMSで管理しているデータを、サイト上で自由に呼び出したり、また、独自の管理画面やアプリの開発や、他のプラットフォームとの連携などを容易に行うことができます。

Movable Type 7 r.54xx で提供している API のバージョンは v5 です。

利用方法

Movable Type Data API は、Movable Type 7 がインストールされている環境であれば、すぐにご利用になれます。

各バージョンごとのエンドポイントについて

Movable Type Data API は、API の各バージョン毎に定められている エンドポイントと呼ばれる URI に対して POST, GET, PUT, DELETE の HTTP(s) 要求を送ることで動作します。

Data API のバージョンごとに、利用できるエンドポイントが違う場合がありますので、各エンドポイントを利用する際には、バージョンごとに定められているベースの URI として、リクエストを行ってください。

例: Data API v5を利用して、記事の一覧を取得する

  http://example.com/mt-data-api.cgi/v5/sites/1/entries
バージョンごとのエンドポイント一覧
Movable Type のバージョン Data API のバージョン エンドポイント
Movable Type 7 r.53xx v4.0 http(s)://path/to/mt-data-api.cgi/v4/
Movable Type 7 r.54xx v5.0 http(s)://path/to/mt-data-api.cgi/v5/

認証方式

Data API では、Movable Type のユーザー管理機能を利用して認証を行います。また、ユーザーの権限をもとに、各リクエストに対しての認可を行います。これにより、Data API と Movable Type でユーザーを一元管理することができます。

認証が必要なエンドポイントへリクエストを行なう場合、リクエスト毎にアクセストークンを付与する必要があります。詳しくはクイック スタートガイドをご覧ください。

Data API をより安全に利用するために

Data API のアクセスを禁止する

Data API からのアクセスをサイト単位、あるいはシステム全体で禁止することができす。詳しい設定方法は、以下のドキュメントをご覧ください。

クロスオリジン制約を見直す

Web ブラウザ の JavaScript を利用して外部のサイトから Data API にアクセスした場合、Web ブラウザのセキュリティ上の仕様でデフォルトではデータを取得することはできませんが、DataAPICORSAllowOrigin にデータの取得を許可するアクセス元を指定するとことで、外部のサイトからもアクセスが可能になります。このとき、適切なオリジンを設定することで、不要なサイトからのアクセスを許可しないように出来ます。詳しくは、DataAPICORSAllowOrigin 環境変数のドキュメントをご覧ください。

取得できる情報を制限する

Data APIを利用すると、Movable Type で管理されているサイトや記事の情報が取得できます(一部の情報はユーザー認証が必要です)。サイトによっては、公開されたくない情報も API 経由で取得できます。
例えば、サイトの名称や URL などは公開しているけれども、サイトの ID は API で取得させたくない。というような場合があるかもしれません。
このような場合は、DisableResourceField 環境変数を 適切に設定することで、API 経由で取得できる情報に制限を設けることが出来ます。

例えば、ブログの ID を制限する場合は、以下の内容を mt-config.cgi に記述します。

DisableResourceField blog=id

関連ページ