错误
所有错误的统一格式,以及任何端点都可能返回的错误码。
所有错误都采用同一种格式:
{"error": {"code": "event-ended", "message": "This event has ended."}}只有一个例外,而且只在直接调用 sekaibeyond.com/api 时出现:以 application/json 发送、但不是 JSON 对象或数组的请求体到不了 API,Google 的服务器会直接返回一个纯 HTML 的 400。这包括格式错误的 JSON,以及单独的字符串、数字或 null。通过 api.sekaibeyond.com 调用时,中转会先拦截它,并以通常的格式返回 400 invalid-request。
请根据 code 判断。message 是给人看的,措辞可能会变。各端点的页面列出了它自己的错误。
所有端点
每个端点还可能返回以下错误:
| 状态码 | 错误码 | 何时出现 |
|---|---|---|
| 401 | missing-api-key | 没有 Authorization: Bearer 请求头。 |
| 401 | invalid-api-key | 密钥不是我们签发的,或已被吊销。 |
| 401 | api-key-expired | 密钥已过期。 |
| 403 | missing-scope | 密钥缺少该端点所需的权限范围。 |
| 404 | not-found | 没有这个端点。 |
| 405 | method-not-allowed | 请求方法错误。Allow 响应头给出正确的方法。 |
| 429 | rate-limited | 每分钟调用超过 120 次。Retry-After 给出需要等待的秒数。 |
| 500 | internal | 我们这边出了问题。请重试。 |
来自中转
中转会额外返回以下错误,格式相同:
| 状态码 | 错误码 | 何时出现 |
|---|---|---|
| 400 | invalid-request | 以 application/json 发送的请求体不是 JSON 对象或数组。 |
| 413 | payload-too-large | 请求体超过 64 KiB。 |
| 502 | upstream-unavailable | 无法连接 API。 |
| 504 | upstream-timeout | API 超过 30 秒未响应。 |