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

如何使用Tweepy通过conversation_id获取旧推文的对话与回复

问题核心原因
  • 这不是代码或参数错误,是Twitter API v2全量搜索端点的索引覆盖限制导致的:学术研究权限的全量搜索虽然支持检索2006年至今的所有推文,但2014年及更早的推文仅索引了基础文本、发布时间、作者ID等基础属性,conversation_id这类对话关联的结构化元数据是2015年之后才上线的字段,早期历史数据没有回溯补全这部分标签,所以用conversation_id作为检索条件时,无法匹配到绝大多数2014年的对话推文。
  • 你测试时拿到的1条返回结果不是随机数据,是那条回复刚好被基础索引规则命中,其余同对话的回复因为没有绑定conversation_id标签,不会被检索逻辑匹配到。
  • 用Postman直接调用接口也返回空/极少结果,已经可以排除Tweepy封装层的问题,问题出在服务端的索引数据本身。
可行解决方法
  • 检索2014年的推文对话时,不要使用conversation_id作为检索条件,改用定向匹配回复目标的方式构造query:格式为to:根推文发布账号 根推文ID,搭配对应时间范围参数检索,比如你提到的任天堂案例,query可写为to:NintendoAmerica 535462600294035456,这种检索方式对早期数据的覆盖率远高于conversation_id检索。
  • 检索2015年及之后的推文对话时,再使用conversation_id做检索条件,这个时间段的推文元数据已经完成全量索引,可以正常返回完整对话结果。
  • 不管检索哪个时间段的内容,只要返回结果的meta字段中带有next_token,就需要携带该token翻页请求,单次请求最多返回500条结果,不做翻页会拿不全数据。
操作校验结论

你写的Tweepy调用代码、Postman构造的请求格式、参数传值均符合接口要求,不存在写法错误,不需要调整调用逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 05:39:38