You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Twit无法订阅推文流:调用Twitter Streaming API返回404错误求助

解决Twitter流式API 404错误的方案

问题根源

你遇到的404错误是因为statuses/filter属于Twitter API v1.1的端点,该端点已被官方弃用,当前官方推荐使用Twitter API v2的过滤流实现类似功能。旧版Twit库未适配v2 API,导致请求无效返回404。

修复步骤

1. 更换适配v2 API的库(推荐)

Twit库对v2 API支持有限,建议使用twitter-api-v2库,它专门适配v2 API,使用更便捷:

  • 安装库:
npm install twitter-api-v2
  • 替换代码:
const { TwitterApi } = require('twitter-api-v2');

// 初始化客户端,填入你的API密钥和令牌
const client = new TwitterApi({
  appKey: '你的consumer key',
  appSecret: '你的consumer secret',
  accessToken: '你的access token',
  accessSecret: '你的access token secret',
});

// 创建只读流客户端
const rwClient = client.readWrite;

// 启动过滤流,跟踪@elonmusk的提及
async function startStream() {
  const stream = await rwClient.v2.searchStream({
    'tweet.fields': ['author_id', 'created_at'],
    expansions: ['author_id'],
    query: '@elonmusk',
  });

  // 监听推文
  stream.on('data', (tweet) => {
    console.log(tweet);
  });

  // 监听错误
  stream.on('error', (error) => {
    console.error('流错误:', error);
  });
}

startStream().catch(console.error);

2. 若坚持使用Twit库(不推荐)

如果一定要用Twit,需注意v1.1流式端点仅对部分付费开发者开放,且后续会被彻底移除,可按以下步骤排查:

  • 确认你的Twitter开发者账号拥有v1.1流式API的访问权限
  • 更新Twit到最新版本:
npm update twit
  • 检查令牌是否包含read_stream权限(在开发者后台权限设置中确认)

关键注意事项

  • Twitter API v2需在开发者后台启用对应权限(如Read and Write或Read Only)
  • v2过滤流的query参数语法与v1.1略有差异,需遵循官方查询规则
  • 免费版API的流访问有速率限制,需避免超出限额

内容的提问来源于stack exchange,提问作者Efim Rubin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:40:12