用途:帮助理解并管理 Gamma API 的速率限制,适用于频繁触发限流、优化 API 调用量或搭建请求排队系统的场景。
主要能力:
- 速率限制层级:资料列出 Free(10 请求/分钟、5 演示/天、10 导出/小时)、Pro(60、50、100)、Team(200、200、500)、Enterprise(均为自定义)。
- 检查限流响应头:读取 x-ratelimit-limit、x-ratelimit-remaining、x-ratelimit-reset。
- 指数退避:封装 withBackoff(),默认 maxRetries 5、baseDelay 1000 毫秒,遇 HTTP 429 时按 retryAfter 或 2 的幂次延迟重试。
- 请求队列:RateLimitedQueue 类按每分钟请求数计算间隔(60000 / requestsPerMinute),串行处理队列。
- 用量监控:通过 gamma.rateLimit.status() 获取 limit、remaining、reset,计算已用百分比与重置倒计时。
使用方式:先读取响应头判断剩余额度;对偶发 429 使用指数退避包装;对持续 429 改用请求队列;接近上限时先检查剩余量再调用;突发流量可用令牌桶算法。示例中调用 gamma.presentations.list()、gamma.presentations.create() 等接口。
适用场景:高并发演示创建、批量导出、需要稳定调用 Gamma API 的集成项目。
限制:资料未提供 Gamma API 的完整官方文档、认证方式、错误码全集及企业版具体配额;示例中的 staging 演示与操作 ID 为虚构演示,实际行为需以官方为准。后续可参考 gamma-security-basics 了解安全实践。