Movable Type Data APIの使い方:listEntries()
Movable Type 6から提供されるData APIの使い方を紹介します。
本エントリーではJavaScript SDK APIのlistEntries()の基本的な使い方について解説します。
1.基本
listEntries()はパラメータに設定した条件にしたがって記事一覧を収集するためのAPIです。
listEntries()を使って記事一覧を表示する簡単なサンプルを紹介します。
<script>
// API生成コード等は省略
var siteId = 2;
api.listEntries(siteId, function(response) {
if (response.error) {
return;
}
for (i=0; i< response.items.length; i++) {
jQuery('#result').append($('<li>').append(response.items[i].title));
}
});
</script>
<div id="result"></div>
JavaScriptライブラリのインクルードやapiの生成については「Movable Type Data APIの使い方(JavaScript SDKを使ったオブジェクトの生成)」を参照してください。
また、エラーのハンドリングについては「Movable Type Data APIの使い方(エラーのハンドリング)」を参照してください。
なお、上記のサンプルでは結果表示処理でjQueryを利用しているので、jQueryのインクルードも行ってください。
2.パラメータ
listEntriesに設定するパラメータは次のとおりです。
- siteId:ブログIDを設定(必須)
- コールバック:レスポンス受信時の処理を記述
このエントリーでは省略していますが、第2パラメータとしてオプションを設定することも可能です。詳細は別のエントリーで紹介します。
3.レスポンス
レスポンスとして次のようなJSONデータが返却されます(MT6ベータ版時点でのサンプル)。
{
"totalResults": 3,
"items": [{
"excerpt": "テスト投稿です。...",
"date": "2013-07-10T23:08:07+09:00",
"status": "Publish",
"updatable": false,
"author": {
"userpicUrl": null,
"displayName": "hoge"
},
"comments": [],
"allowComments": true,
"permalink": "http://user-domain/test.html",
"keywords": "",
"body": "テスト投稿です。",
"trackbacks": [],
"id": 1,
"allowTrackbacks": true,
"modifiedDate": "2013-08-07T22:05:26+09:00",
"trackbackCount": "0",
"blog": {
"id": "2"
},
"categories": [],
"tags": [],
"commentCount": "0",
"assets": [],
"basename": "test",
"createdDate": "2013-07-10T23:08:20+09:00",
"class": "entry",
"title": "テスト",
"pingsSentUrl": [],
"more": "",
"customFields": [{
"basename": "cftext",
"value": "aaa"
}]
}, {
…2件目(略)…
}, {
…3件目(略)…
}]
}
データの意味は次のとおりです。
totalResults
記事数を保持します(ベータ1では公開状態の全記事件数)。
items
記事データオブジェクトを配列で保持します。
itemsの中から主に次のデータが収集可能です。
- blog:ブログID
- class:記事クラス
- id:記事ID
- title:記事タイトル
- body:記事本文
- more:記事追記
- excerpt:記事概要
- date:公開日時
- createdDate:作成日時
- modifiedDate:更新日時
- status:公開状態
- author:記事作成ユーザー
- comments:コメント
- permalink:記事のパーマリンク
- keywords:キーワード
- categories:カテゴリ
- tags:タグ
- basename:ベースネーム
- customFields:カスタムフィールド
4.レスポンスデータから記事データを取得する
レスポンスデータから記事データを順次取得するには次のようにします。
api.listEntries(siteId, function(response) {
for (i=0; i< response.items.length; i++) {
alert(response.items[i].title);
}
});
for文で配列itemsの要素数分繰り返し処理を行い、for文の中でコールバックの引数responseからデータを抜き出します。
ハッシュ・配列はピリオド、さらに配列は[]で要素を指定します。
たとえば1番目の記事データから記事タイトルを取得する場合は、
response.items[1].title
となります。
2番目の記事データからブログIDを取得するには、
response.items[2].blog.id
とします。
3番目の記事データからカスタムフィールド0番目の値を取得するには、
response.items[3].customFields[0].value
とします。
カスタムフィールドについては、配列customFieldsの何番目に何のカスタムフィールドが設定されているか、ベースネームから判定する必要があります。
response.items[3].customFields[0].basename
- MovableTypeのDataAPIでコンテンツデータをモーダル表示させる方法
- Movable TypeのWorkflowプラグインでDataAPIが利用可能になる「WorkflowDataAPIプラグイン」
- Movable TypeのDataAPIで記事を投稿するサンプル
- Movable TypeのDataAPIで「403 Forbidden」になる場合の対処
- Movable TypeのDataAPIで特定のカスタムフィールドを取得する方法
- Movable TypeのDataAPIでアクセスランキングを表示する方法
- Movable TypeとGoogle Analyticsの連携
- Movable Type Data APIの使い方:カスタムフィールド検索
- Movable Type Data APIの使い方:検索
- Movable Type Data APIの使い方:カスタムフィールド作成
- Movable TypeのData APIを有効・無効にする方法のまとめ
- Movable Type Data APIの使い方:uploadAsset()
- Movable Type Data APIの使い方:publishEntries()
- Movable Type Data APIの使い方:authenticate()
- Movable Type Data APIの使い方:paramsについて