memorandum
thinking about creation

MT6/DataAPIをjavaScriptライブラリで使う(1)

Entry Date _ 2016.06.30
/
ModifiedDate _ 2016.07.07

前回からの続きで、Movable Type 6(以下MT)から追加された新機能 DataAPI を試してみます。

DataAPI は、PHPやjavaScriptなど様々な言語を使ってMTにアクセスできる機能ですが、今回はjavaScriptを使ってアクセスする方法を試してみることにします。

参考にしたのは、MTの販売元であるシックス・アパートが監修した『Movable Type 6 本格活用ガイドブック』です。 2Q==.jpg

それでは実際に試してみましょう。MT6/DataAPIには、あらかじめアクセス用のjavaScriptライブラリが「mt-static/data-api/」配下に格納されているので、まずそれを呼び出します。バージョンは任意にお選びください。ここでまず気を付けなければならないのは、提供されたjavaScriptライブラリをつかう場合、他のドメインにあるMTのデータは取得できないことです。

今回は、最新のブログ記事10件のタイトルと本文冒頭をDataAPIによって取得し、それをリスト化します。

$(function(){
	// DataAPIのオブジェクトを作成する
	var api = new MT.DataAPI({
		baseUrl:  "http://ムーバブルタイプのパス/mt-data-api.cgi",
		clientId: "(任意のID名)"
	});

	var html = "";
	var siteId = 2; // サイトIDまたはブログID

	// 指定したMTのデータを取得する
	api.listEntries(siteId, function(json) {

		if (json.error) {
			html = "データ取得エラー";
		}else{
			for (var i=0; i < 10; i++) {
				var item = json.items[i];
				html += '<dt><a href="' + item.permalink + '" terget="_blank">■' + item.title + "</a></dt>";
				html += '<dd>' + item.excerpt + '</dd>';
			}
		}

		// 出力
		$('#OUTPUT').html('<dl>' + html + '</dl>');

	});
});

実行結果

返却されるデータ

返却されるJSONには、itemsという配列に各記事が格納されており、アクセスできる主要な要素は以下の通り。他にタグ(tags)、コメント(comments)、カテゴリー(categorys)など、MTの記事を構成するほぼすべての要素にアクセスできるようです。

items[*].basenameベースネーム
(ファイル名)
mt-data-api
items[*].createdDate作成日2016-06-27T15:34:00+09:00
items[*].excerpt記事本文の冒頭Movable Type(ムーバブルタイプ)は、主に日本において多く使われてい...
items[*].id記事ID21
items[*].modifiedDate最終更新日2016-06-28T15:23:30+09:00
items[*].permalink記事のURLhttp://www.chaordic.co.jp/memorandum2/2016/06/mt-data-api.html
items[*].title記事タイトルMovable Type 6 の DataAPI を試してみる。
items[*].body記事本文(記事本文すべて)
items[*].more記事続き(記事続きすべて)

Category

memorandum index