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

如何在Rails中使用X Gem获取指定用户的Twitter推文?

获取特定用户X推文的完整流程(基于X Gem)

你已经搞定了客户端配置的核心部分,还需要以下几个关键步骤才能成功获取推文:

1. 安装X Gem

首先确保在Rails项目的Gemfile里添加:

gem 'x'

然后执行bundle install完成安装。

2. 确认API权限配置

在X开发者平台的项目设置里,必须开启读取推文的权限(对应Read权限组),并且完成账号的权限审核。如果权限不足,调用API时会直接返回权限错误。

3. 编写推文获取逻辑

配置好客户端后,需要调用X的API端点拉取推文。通常需要先通过用户名获取用户ID,再基于ID拉取对应推文:

def get_user_tweets(username, max_results = 10)
  # 通过用户名获取用户ID
  user_response = configure_client.get("/2/users/by/username/#{username}")
  user_id = user_response.dig(:data, :id)

  # 拉取用户最近推文,可指定返回字段
  tweets_response = configure_client.get("/2/users/#{user_id}/tweets", params: {
    max_results: max_results,
    tweet_fields: "created_at,public_metrics" # 按需指定要返回的字段,比如创建时间、互动数据
  })

  # 提取推文数据
  tweets_response[:data]
rescue X::Error => e
  # 处理API错误,比如权限不足、调用超限、用户不存在等
  puts "API调用出错:#{e.message}"
  nil
end

注意:X的v2 API默认只返回推文ID和文本,需要通过tweet_fields等参数明确指定额外字段。

4. 环境变量管理

绝对不要把凭证硬编码到代码里,在Rails中建议用环境变量存储。可以借助dotenv-rails gem,把凭证放在.env文件:

X_ACCESS_TOKEN=你的真实访问令牌
X_ACCESS_TOKEN_SECRET=你的真实令牌密钥
X_API_KEY=你的真实API密钥
X_API_KEY_SECRET=你的真实API密钥密钥

然后修改配置方法:

def configure_client
  x_credentials = {
    access_token:        ENV["X_ACCESS_TOKEN"],
    access_token_secret: ENV["X_ACCESS_TOKEN_SECRET"],
    api_key:             ENV["X_API_KEY"],
    api_key_secret:      ENV["X_API_KEY_SECRET"]
  }
  X::Client.new(**x_credentials)
end

5. 注意API限制

X的API有严格的调用频率限制,免费版配额较低,要避免短时间内大量调用。另外,私有用户的推文无法获取,除非你有对应的授权权限。

内容的提问来源于stack exchange,提问作者000723-weict

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:12:44