Adventar APIを作ってみた

Movable Type Advent Calendarをはじめとして、いくつかのAdvent CalendarがAdventarで開催されています。
このAdventarから各Advent Calendarの情報を得るAPIを作ってみました。
Adventarをお使いの各Advent Calendarのユーザーの方々は、当APIを使ってみていただけると嬉しいです。

1.エンドポイント

以下のアドレスから情報をJSON形式で得ることができます。
「○○」には、各Advent CalendarのID(URLの最後の数字)を入れます。

https://www.h-fj.com/adventar/○○

たとえば、Movable Type Advent Calendarは、URLが「http://www.adventar.org/calendars/26」です。
したがって、「https://www.h-fj.com/adventar/26」で情報を得ることができます。

また、「?callback=関数名」のパラメータを付加すると、JSONP用のコールバック形式で情報を得ることができます。

なお、情報はキャッシュしています。
前回の取得から15分以上経過するまでは更新されません。

2.得られる情報

JSONには以下のプロパティがあります。

プロパティ内容
titleAdvent Calendarのタイトル
linkAdvent Calendarのアドレス
creatorAdvent Calendarを作ったユーザー
creator_imageAdvent Calendarを作ったユーザーのGravatar画像のアドレス
member_countAdvent Calendarに参加している人数
usersAdvent Calendarに参加している人達の配列

また、usersプロパティの各要素には、以下のプロパティがあります。

プロパティ内容
user名前
user_imageGravatar画像のアドレス
date記事を書く日付
commentコメント
link記事のアドレス

3.サンプル

こちらのページに、このAPIで作ったサンプルがあります。
Movable Type Advent Calendarの情報を得て出力する例です。

4.ちなみに

このAPIのバックエンドはMovable Typeです。
最初は、Adventarからデータを取ってくるプラグインとして作りましたが、せっかくなのでAPIとして使う形に変えました。
とはいえ、プラグインを捨てたわけでなく、テンプレートでデータをJSON形式に整形して出力するようにしています。