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

使用Flume 1.9.0采集Twitter实时推文时出现403错误如何解决

问题现象

使用Flume 1.9.0内置的Twitter数据源采集实时推文时,接口返回如下403报错:

*
content="text/html; charset=utf-8"/>
<title>Error 403 
    Please use V2 filtered and sample volume stream as alternatives
    </title>
    </head>
    <body>
    <h2>HTTP ERROR: 403</h2>
    <p>Problem accessing '/1.1/statuses/sample.json'. Reason:
    <pre>    
    Please use V2 filtered and sample volume stream as alternatives
    </pre>
    </body>
    </html>
问题根因

Flume 1.9.0官方版本自带的Twitter Source默认对接Twitter API v1.1版本的采样流接口,Twitter已经正式关停v1.1版本流接口的公开访问权限,所有对该接口的请求都会被拒绝,官方明确要求所有流相关场景必须切换到v2版本的过滤流、采样流接口。

可行解决方案
  • 自定义开发Flume Source适配v2接口
    1. 登录Twitter开发者平台创建v2 API项目,生成对应项目的Bearer Token,确认账号已开通采样流/过滤流的访问权限,免费开发者账号默认提供基础的采样流访问额度。
    2. 基于Flume Source开发规范重写Twitter采集逻辑:
      • 将请求地址替换为v2版本对应接口:全量采样流用/2/tweets/sample/stream,带规则筛选的过滤流用/2/tweets/search/stream
      • 替换鉴权逻辑:不再使用v1.1版本的四组密钥签名鉴权,直接在请求头携带Authorization: Bearer <你的项目Bearer Token>
      • 调整响应解析逻辑适配v2接口返回的JSON结构
    3. 将开发完成的代码打包为jar包,上传到Flume部署路径下的lib目录,在Flume agent配置文件中指定Source类型为自定义类的全路径,补充Bearer Token、采集字段、过滤规则等配置项,重启agent即可正常采集。
  • 直接使用社区适配v2的Twitter Source插件
    找社区已经开发维护的适配Twitter API v2的Flume Source插件包,下载后放到Flume的lib目录,参照插件说明修改agent配置即可使用,不需要自行开发,注意提前验证插件的字段解析、容错逻辑是否符合业务要求。
  • 中转层适配方案(适合快速验证场景,不推荐生产长期使用)
    单独开发一个轻量中转服务,独立调用Twitter v2流接口拉取数据,将数据转换为Flume原生支持的数据源格式,比如写入指定目录的日志文件、推送到Kafka集群,再通过Flume自带的Taildir Source、Kafka Source对接中转后的数据完成采集,不需要改动Flume本身的组件逻辑。

内容的提问来源于stack exchange,提问作者Saurabh Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 17:18:06