mixi Connect » mixi Graph API » 技術仕様 » API共通仕様
API共通仕様
各APIにおける共通の仕様について、ここで説明いたします。
取得結果の表現形式の指定方法
基本的に全てのAPIはJSON形式をサポートしています。いくつかのAPIは、Atom形式もサポートしているものもあり、クライアントプログラムはどちらの形式を使用するか選択することが可能です。
表現形式の指定方法は2種類あります。
種類 | 説明 |
---|---|
formatパラメータ方式 | クエリパラメータとしてformat=jsonというように指定する |
URI方式 | 各APIのURIの末尾に/updates.jsonというように指定する |
どちらも指定した場合は、formatパラメータの指定が優先されます。現在指定可能な種別は”json”、”atom”のどちらかとなります。もし1つの表現形式のみサポートしているAPIを利用する場合は、明示的に表現形式を指定する必要はありません。
ページングの指定方法
APIにて取得可能な結果の件数が多い場合、クライアントプログラムは取得したい結果の件数を限定することが可能です。そして、「次の10件」といった指定をすることで、結果を次々と取得することもできるようになっています。これをページングと呼びます。いくつかのAPIは、このページングをサポートしています。
ページングを行うために、以下のパラメータを使用することができます。これらのパラメータは、クエリパラメータとして指定します。
パラメータ名 | 指定する値 |
---|---|
startIndex | 開始インデックス |
count | 取得最大件数 |
ページングをサポートするAPIでは、取得結果に以下の情報が含まれます。
属性名 | 説明 |
---|---|
totalResults | 条件に一致した総件数 |
startIndex | 返却された取得結果の最初のインデックス |
itemsPerPage | 1ページあたりの件数 |
これらの値は、結果がJSON形式の場合は、結果オブジェクトが直接保持するプロパティ値(数値)として、Atom形式の場合はOpenSearch仕様に基づいて記述されます。クライアントプログラムは、これらの値を利用して、次または前の結果の集合を指定することができます。
絵文字の扱いについて
mixi Graph APIでは、主に携帯電話端末で利用される絵文字について、クライアントプログラム内で処理しやすいようにmixi Platform側で変換をさせることが可能です。具体的には、以下の処理を行うことができます。
- クライアントプログラムから送信された内容に絵文字コードが含まれている際に、指定された条件によって、mixiでの内部表現に変換する。
- クライアントプログラムからの情報取得要求があった際に、指定された条件によって、mixiでの内部表現から絵文字コードに変換を行い、その結果をAPIの取得結果として返却する。
クライアントプログラムは、以下のクエリパラメータを利用して、絵文字に関する指定を行います。
パラメータ名 | 指定可能な値 | 説明 |
---|---|---|
emojiCarrier emoji_carrier |
“docomo”, “softbank”, “au”のいずれか | 絵文字コードとして採用しているキャリアの種別 |
emojiCharset emoji_charset |
“sjis”, “utf8″のいずれか | 絵文字コードとして採用している文字コード種別 |
絵文字コードの変換処理は、emoji_carrierまたはemojiCarrierパラメータのどちらかがAPIアクセス時に指定された際にのみ行われます。emoji_charsetおよびemojiCharsetが省略された場合は、”utf8″が指定されたものと見なします。また、絵文字変換をサポートするパラメータの文字数チェックは、mixiの内部表現(”[m:**]“など)に変換された後に行われます。
現在、絵文字コード変換をサポートするAPI、パラメータは以下となります。
API | リクエスト種別 | 対象パラメータ |
---|---|---|
Voice API | つぶやきの取得 | “text” |
Voice API | つぶやきの投稿 | “status” |
Voice API | コメントの取得 | “text” |
Voice API | コメントの投稿 | “text” |
People API | 最新ステータスの取得 | "status.text" |
Message API | 受信メッセージ一覧の取得 | "body" |
Message API | 送信メッセージ一覧の取得 | "body" |
Message API | メッセージの送信 | "body" |
Diary API | ある日記の取得 | "body" |
Diary API | 日記の投稿 | "body" |
Diary API | ある日記へのコメント一覧の取得 | "text" |
Diary API | ある日記へのコメントの投稿 | "text" |
リクエスト回数制限について
1分間のうちに発行された各APIへのリクエスト回数がこちらの表の上限を超えた場合は、Graph APIが一時的にHTTP 503エラー(Service Temporarily Unavailable)を返します。
それぞれのAPIに個別のリクエスト回数上限が設定されており、登録されているサービスの利用ユーザごとに適用されます(そのため、あるユーザが回数制限にひっかかっても、一時停止になるのはそのユーザのみで、他のユーザに影響はありません)。
制限時間は1分間となりますので、その後再び同じリクエストが可能になります。
API名 | 機能 | 1分間での最大リクエスト回数 (サービス・ユーザごと) |
---|---|---|
People API | GET /people/ | 300 回 |
Voice API | POST & DELETE /voice/statuses/ POST & DELETE /voice/replies/ POST & DELETE /voice/favorites/ | 合計 60 回 合計 60 回 合計 100 回 |
Check API | POST /share/ | 50 回 |
Photo API | POST & DELETE /photo/albums/ POST & DELETE /photo/mediaItems/ POST & DELETE /photo/comments/albums/ POST & DELETE /photo/comments/mediaItems/ POST & DELETE /photo/favorites/mediaItems/ | 合計 50 回 合計 500 回 合計 30 回 合計 30 回 合計 30 回 |
Message API | PUT /messages/ | 60 回 |
Diary API | POST /diary/ | 30 回 |
Check-in API | POST & DELETE /checkins/ POST & DELETE /checkins/comments/ POST & DELETE /checkins/favorites/ POST & DELETE /spots/ | 合計 30 回 合計 30 回 合計 30 回 合計 20 回 |
Profile Image API | POST /people/images/ PUT /people/images/ DELETE /people/images/ | 30 回 30 回 30 回 |
Calendar API | POST /calendar/schedules/ | 30 回 |
- 制限内容と最大リクエスト回数は2012年5月21日現在のものです。
- リクエスト回数制限適用期間: 2012年6月4日 より