故障排查
检查清单
几乎每个支持工单都以同一句话开头:流打开了,但什么都没收到。几种不同的原因从外面看一模一样。按这个列表逐项排查。
| 检查项 | 怎么查 | 如果是这样 |
|---|---|---|
连接一打开就以 4001 关闭? | 看关闭原因,再用同一个密钥调用 GET /v1/account | missing_api_key:密钥根本没送到,请用 Authorization: Bearer、X-API-Key 或 ?api_key= 传递。invalid_api_key:拼错或密钥已轮换。key_revoked:请联系发放密钥的人 |
你的密钥有 stream 吗? | GET /v1/account | 没有它,连接会立即以 4003 关闭 |
| 你真的在监控某个账号吗? | GET /v1/monitor/targets | 空列表意味着一条打开却永远不会说话的连接 |
| 该账号的实时投递已激活了吗? | 同一调用——看 push_ready | 刚添加后为 false 是正常的,通常几分钟内生效。在此期间该账号的事件照常完整送达,只是部分可能比平时晚到,所以请随到随处理,不要等它变为 true。如果一小时后仍为 false,请联系我们 |
| 是你还是我们限制了事件类型? | GET /v1/monitor/targets/{target} 的 event_types 字段;再看 GET /v1/account 的 event_types 字段 | 空表示全部类型。订阅上的列表由你决定:用 PATCH /v1/monitor/targets/{target} 放宽。密钥级列表是应你的要求设置的,请联系我们放宽 |
| 在等关键词命中? | GET /v1/keywords,并确认密钥上有 keywords:read | 没有该 scope,search.match 在到达你之前就被过滤掉了 |
| 账号是安静,还是不可见? | GET /v1/users/{name}/tweets | X 会把某些账号从搜索和他人的时间线中隐藏。我们看不到,就报不了 |
| 连接太多? | 关闭码 4002 | 达到了你套餐的 max_conns;崩溃的进程可能仍占着旧连接 |
| 在打开连接之后才添加的目标? | 等 30 秒 | 已打开的连接在下一次刷新时才拾取新订阅,不是即时的 |
REST 上收到 429? | 读取 X-RateLimit-Remaining 和 Retry-After | 通常是对 REST 的紧密请求循环所致;流不计量,改用流 |
仍然卡住:把任意一个 X-Request-Id,或你预期却没收到的事件 id 发给我们。