mixi2 Developer Platform
リファレンス

レート制限

mixi2 API のレート制限について説明します。

mixi2 API では、プラットフォームの安定性を維持するために、各 API にレート制限が設けられています。このページでは、レート制限の仕様と制限超過時の挙動について説明します。

適用単位

レート制限はアプリケーション単位で適用されます。同一アプリケーションからのリクエストは、すべて同じレート制限のカウントに加算されます。

API ごとのレート制限

リクエスト回数の制限

各 API のリクエスト回数の制限は以下の通りです。

RPC制限ウィンドウ
CreatePost10 回1 分
SendChatMessage10 回1 分
InitiatePostMediaUpload10 回1 分
InitiatePostMediaUpload100 回1 時間
AddStampToPost10 回1 分
GetUsers10 回1 分
GetPosts10 回1 分

InitiatePostMediaUpload には 1 分あたりと 1 時間あたりの 2 つの制限が適用されます。いずれかの制限に達した場合、リクエストが制限されます。

GetStampsGetPostMediaStatusSubscribeEvents にはリクエスト回数のレート制限はありません。

メディアアップロードの制限

メディアのアップロードには、リクエスト回数の制限に加えて、データ量の制限があります。

項目制限
アップロード容量1 GB / 日

各メディアファイルのサイズ制限については、API の使い方 - メディアアップロードの制限を参照してください。

レスポンスヘッダー

すべての API レスポンスには、現在のレート制限の状況を示す以下のヘッダーが含まれます。

ヘッダー説明
ratelimit-limitリクエスト回数の上限値
ratelimit-remaining現在のウィンドウ内で残っているリクエスト回数
ratelimit-reset制限がリセットされる時刻(UNIX 秒)

制限を超過した場合は、上記に加えて以下のヘッダーが返されます。

ヘッダー説明
retry-after再試行まで待機すべき秒数(最小 1 秒)

制限超過時のレスポンス

レート制限に達した場合、リクエストはハンドラ実行前に拒否され、以下のエラーレスポンスが返されます。

項目
gRPC ステータスコードRESOURCE_EXHAUSTED(code 8)
エラーメッセージrate limit exceeded

レート制限の判定はハンドラ実行前に行われるため、制限超過時は業務処理は実行されません。

制限超過時の対処

レート制限を超過した場合は、以下の手順で対処してください。

  1. retry-after ヘッダーの値に従って待機する — 即時リトライは避けてください
  2. retry-after がない場合は ratelimit-reset の時刻まで待機する
  3. 再試行にはジッター(ランダムな遅延)付きバックオフを使用する — 複数のクライアントが同時にリトライすることを避けられます

レート制限を含むエラーハンドリング全般については、アプリケーション開発 - エラーハンドリングを参照してください。

レート制限は予告なく変更される場合があります。最新の情報はこのページで確認してください。

関連ページ

On this page