用途:以编程方式与 X(Twitter)交互,包括发布推文与推文串、读取时间线/提及/用户数据、搜索内容与趋势、构建集成或机器人,以及做互动数据分析。触发场景包括用户要求“post to X”“tweet”“X API”或“Twitter API”。
认证:只读、搜索和公开数据可用 OAuth 2.0 Bearer Token(App-Only),通过环境变量 X_BEARER_TOKEN 配置;发推、管理账号、私信等写入流程需要 OAuth 1.0a 用户上下文,使用 X_CONSUMER_KEY、X_CONSUMER_SECRET、X_ACCESS_TOKEN、X_ACCESS_TOKEN_SECRET。旧版别名如 X_API_KEY、X_API_SECRET、X_ACCESS_SECRET 可能存在,新流程建议使用 X_CONSUMER_* 与 X_ACCESS_TOKEN_SECRET。
主要能力:发布单条推文(POST https://api.x.com/2/tweets);通过逐条回复上一条推文 ID 的方式发布推文串;读取用户时间线(/2/users/{user_id}/tweets);搜索近期推文(/2/tweets/search/recent),支持 from:、-is:retweet、-is:reply 等查询;按用户名获取用户信息;媒体上传使用 v1.1 端点 upload.twitter.com/1.1/media/upload.json,再在发推时携带 media_ids。
速率限制与错误处理:限制因端点、认证方式和账号层级而异且会变化,应查阅最新开发者文档,运行时读取 x-rate-limit-remaining 与 x-rate-limit-reset 响应头并自动退避,不要硬编码静态表。发推成功返回 201;429 表示限流,可按 x-rate-limit-reset 等待;403 表示权限不足。
安全:不要硬编码令牌,使用环境变量或 .env;不要提交 .env,加入 .gitignore;令牌泄露需在 developer.x.com 重新生成;无需写入时使用只读令牌;OAuth 密钥不要放在源码或日志中。
与内容引擎配合:可用 brand-voice 与 content-engine 生成平台原生内容,先拉取近期原创推文建立 VOICE PROFILE,生成后校验长度与串结构,除非用户明确要求立即发布,否则先返回草稿待批准,批准后再通过 X API 发布,并用 public_metrics 跟踪互动。相关技能包括 brand-voice、content-engine、crosspost、connections-optimizer。
限制:资料未提供具体价格、账号层级要求、各端点精确限额数值或完整平台支持范围,需以 X 官方文档为准。