memorandum
thinking about creation

MT6/DataAPIをjavaScriptライブラリで使う(2)認証

Entry Date _ 2016.08.26
/
ModifiedDate _ 2016.08.26

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

DataAPI は、PHPやjavaScriptなど様々な言語を使ってMTにアクセスできる機能です。今回はjavaScriptを使ってアクセスする方法を試してみることにします。参考にしたのは、MTの販売元であるシックス・アパートが監修をした『Movable Type 6 本格活用ガイドブック』です。

MT6/DataAPIのjavaScriptライブラリの呼び出しは前回と同じなので省略します。

前回は、最新のブログ記事10件のタイトルと本文冒頭をDataAPIによって取得し、それをリスト化しましたが、それでは公開済みの情報しか得ることができません。公開されていないプライベートなデータを扱うためには、DataAPI にログインする必要があります。今回はログインして同じことをしてみます。

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

	api.getToken(function(response){
		if (response.error){

			/*
			 * ログインはMTで行います。
			 * ログインしていない場合はMTのログイン画面に誘導します。
			 */

			location.href = api.getAuthorizationUrl(location.href);
		
		}else{

			/*
			 * ログインに成功したときの処理
			 */

			var html = "";
			var siteId = *; // サイトIDまたはブログID
			var params = {
				limit:10 	// 読み込む件数
			}

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

				if (json.error) {
					html = "データ取得エラー";
				}else{
					console.log(json.items.length);

					for (var i=0; i < json.items.length; 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>');
			});
		}
	});

});

実行結果

実行結果は、前回と同じです。

Category

memorandum index