通过API v2访问X(Twitter):用户资料、时间线、话题线程、搜索、书签、点赞和发布。用于以下场景:(1)获取用户信息或资料,(2)...
X( 拖转器) API. 与 X 通过 API v2. 交互是一项面向实际任务的技能,主要用于Pure Python stdlib – no dependents...;Fiatures. 公共数据( 手持者令牌): :. 用户配置( 生物, 追随者, 微博计数). 用户时长( 带有过滤器: ex)。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
通过 API v2 与 X 交互。纯 Python 标准库实现 —— 无任何外部依赖。
公开数据(使用 Bearer Token):
用户上下文(OAuth 2.0):
参见 SETUP.md 获取凭据配置说明(Bearer Token + 可选 OAuth 2.0)。
# 获取用户资料(简介、关注者数、认证状态)
python3 {baseDir}/scripts/x.py user steipete
python3 {baseDir}/scripts/x.py user elonmusk
# 获取用户的近期推文
python3 {baseDir}/scripts/x.py timeline steipete --max 50
# 排除转发
python3 {baseDir}/scripts/x.py timeline steipete --max 100 --exclude retweets
# 同时排除转发和回复
python3 {baseDir}/scripts/x.py timeline steipete --max 100 --exclude retweets,replies
# 获取对话线程(同一作者发布的自包含线程)
python3 {baseDir}/scripts/x.py thread https://x.com/steipete/status/123456
python3 {baseDir}/scripts/x.py thread 123456789
# 注意:仅搜索最近 7 天(近期搜索)。如需检索更早的线程,需使用全量归档搜索(full-archive search)。
# 搜索近期推文(最近 7 天)
python3 {baseDir}/scripts/x.py search "OpenClaw" --max 20
python3 {baseDir}/scripts/x.py search "from:steipete OpenAI" --max 50
# 支持高级搜索操作符(如 from:、to:、-filter:retweets 等)
# 单条推文
python3 {baseDir}/scripts/x.py tweet 2025504475100614695
python3 {baseDir}/scripts/x.py tweet https://x.com/steipete/status/2025504475100614695
# 多条推文(批量查询)
python3 {baseDir}/scripts/x.py tweets 123456 789012 345678
# 一次性授权设置
python3 {baseDir}/scripts/x.py auth
# 获取您的书签
python3 {baseDir}/scripts/x.py bookmarks --max 100
# 获取某用户已点赞的推文(需 OAuth)
python3 {baseDir}/scripts/x.py likes steipete --max 50
# 发布一条推文
python3 {baseDir}/scripts/x.py post "Hello from OpenClaw! 🦞"
# 注意:API 强制执行 280 字符限制
所有命令均输出简洁、易读的文本:
👤 Peter Steinberger 🦞 (@steipete) ID: 25401953 Bio: Polyagentmorous ClawFather... 👥 382,854 followers · 2,241 following · 135,096 tweets https://x.com/steipete 🐦 @VictorKnox99 I think my stance on using AI here is pretty clear. 📅 2026-02-22 09:34:33 ❤️ 5 🔁 0 💬 0 https://x.com/steipete/status/2025504475100614695
研究用户活动:
# 获取某人近期关于特定主题的观点
python3 {baseDir}/scripts/x.py timeline steipete --max 100 --exclude retweets | grep -i openai
监控讨论:
# 搜索 OpenClaw 相关提及
python3 {baseDir}/scripts/x.py search "OpenClaw" --max 100
提取线程:
# 获取完整线程用于分析
python3 {baseDir}/scripts/x.py thread > thread.txt
归档书签:
# 将书签导出至文件
python3 {baseDir}/scripts/x.py bookmarks --max 100 > bookmarks.txt
X API 在每 15 分钟窗口内强制执行速率限制:
| 端点(Endpoint) | 应用级(Bearer Token) | 用户上下文(OAuth) |
|---|---|---|
| 用户查询(User lookup) | 900 | 900 |
| 用户时间线(User timeline) | ~1,500 | ~900 |
| 搜索(Search) | 450 | 300 |
| 推文查询(Tweet lookup) | 900 | 900 |
| 书签(Bookmarks) | N/A | ~180 |
| 已点赞推文(Likes) | N/A | ~75 |
响应头字段(Headers in responses):
x-rate-limit-limit — 允许的最大请求数x-rate-limit-remaining — 当前窗口内剩余请求数x-rate-limit-reset — 速率限制重置时间(Unix 时间戳)设计建议:
tweets 批量查询多条推文 ID)按用量付费模型(Pay-per-usage model):
/2/usage/tweets 端点或控制台界面计费项包括:
不计费项包括:
详细定价信息请参阅 references/pricing.md。
X API 搜索支持以下高级操作符:
| 操作符 | 示例 | 说明 |
|---|---|---|
from: |
from:steipete |
指定用户的推文 |
to: |
to:steipete |
回复该用户的推文 |
- |
-from:steipete |
排除该用户的推文 |
-filter: |
-filter:retweets |
排除转发 |
filter: |
filter:verified |
仅含已验证用户 |
lang: |
lang:en |
语言筛选 |
since: |
since:2026-02-01 |
指定日期之后 |
until: |
until:2026-02-20 |
指定日期之前 |
示例:
# 来自已验证用户的 OpenClaw 相关推文,且排除转发
python3 {baseDir}/scripts/x.py search "OpenClaw filter:verified -filter:retweets" --max 50
仅支持近期搜索:
search 和 thread 命令仅覆盖最近 7 天书签/已点赞推文需 OAuth:
无“稍后观看”(Watch Later)等效功能:
速率限制依然生效:
403 Forbidden:
bearer_token 有效429 Too Many Requests:
x-rate-limit-reset 指定的时间再重试--max 参数值未返回结果:
认证错误(OAuth):
oauth2.json 中包含正确的 client_id 和 client_secretx.py auth 刷新令牌相关专题
热门下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习