速率限制控制您在特定時間窗口內可對端點發出的請求數量。這些限制有助於確保服務穩定性並保護 Roblox 資源免受濫用。
發現
有兩種方法可以確定速率限制:參考文檔和響應標頭。
文檔頁面
公開的速率限制可以在每個端點的文檔頁面下的 限制 部分找到。在發送請求之前查看這些部分以了解適用的速率限制。
響應標頭
許多 API 響應包含提供有關您當前速率限制狀態的信息的標頭。
| 標頭 | 描述 |
|---|---|
| x-ratelimit-limit | 速率限制窗口內允許的請求總數。這可能包括不同時間窗口的多個限制值。 |
| x-ratelimit-remaining | 您目前的身份驗證下仍可發出的請求數量。當這個數字達到 0 時,您將收到 HTTP 429 響應。 |
| x-ratelimit-reset | 您的速率限制配額重置為完整限制之前剩餘的秒數。 |
以下是 API 響應中的速率限制標頭示例:
x-ratelimit-limit: 1000, 1000;w=60, 1000;w=60x-ratelimit-remaining: 998x-ratelimit-reset: 20
在這個例子中:
- 您的總限制中剩餘 998 次請求。
- 您的配額將在 20 秒後重置。
行為
速率限制的行為因身份驗證方式和請求來源而異,包括您是否在 Roblox 遊戲中發送請求。
API 金鑰
對於 API 金鑰,對每個擁有者(用戶或組)都應用速率限制。這些限制無論請求來源於何處(無論是來自 HttpService、Web 應用程序或其他來源)都會一致地強制執行。
使用 HttpService 在遊戲內
使用 HttpService 在遊戲內調用端點時,請求也會貢獻於每個 Roblox 遊戲服務每分鐘 500 個 HTTP 請求的固定限制。請參閱 遊戲內 HTTP 請求 獲取更多詳細信息。
OAuth 2.0
OAuth 2.0 速率限制是根據訪問令牌應用的。由於每個訪問令牌代表用戶和應用程序的唯一組合,因此每個使用您應用的用戶都獲得其自己的獨立速率限制配額。
處理速率限制
編寫代碼以預期和處理由於文檔限制、濫用防止或高負載場景引起的 HTTP 429(請求過多)響應。在被速率限制時,檢查 retry-after 響應標頭作為何時重試的指導。如果不存在 retry-after 響應標頭,請實施指數回退重試策略。