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

如何使用Tweepy模块转发指定Twitter账号的最新推文

Tweepy实现转发指定Twitter账号最新推文方案

1. api.retweet() 入参说明

  • 仅需要传入1个参数:目标推文的ID(支持整数或字符串格式的数字ID)
  • 调用成功后会直接执行转发操作,无额外必填参数

2. 拉取指定账号最新推文ID方法

你可以通过Tweepy的user_timeline接口拉取目标账号的公开推文,只需指定拉取数量为1即可拿到最新一条推文的ID:

  • 首先通过api.get_user()接口,传入目标账号的用户名(不带@前缀)获取用户的唯一ID
  • 调用api.user_timeline()传入用户ID,设置count=1,即可拉取到该账号最新的1条公开推文
  • 可通过exclude_replies=True、include_rts=False参数过滤掉回复内容和该账号转发的其他内容,只保留账号原创推文

3. 完整可运行代码示例

import tweepy

# 替换为你的Twitter开发者平台申请的密钥
API_KEY = "你的API Key"
API_SECRET = "你的API Secret"
ACCESS_TOKEN = "你的Access Token"
ACCESS_TOKEN_SECRET = "你的Access Token Secret"

# 身份认证
auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
# 初始化API实例,开启自动等待限流避免请求报错
api = tweepy.API(auth, wait_on_rate_limit=True)

# 目标账号的用户名,不需要加@
target_username = "目标账号用户名"

try:
    # 获取目标用户的ID
    target_user = api.get_user(screen_name=target_username)
    # 拉取最新1条原创推文
    latest_tweets = api.user_timeline(
        user_id=target_user.id,
        count=1,
        exclude_replies=True,
        include_rts=False,
        tweet_mode="extended"
    )
    
    if latest_tweets:
        latest_tweet_id = latest_tweets[0].id
        print(f"获取到最新推文ID:{latest_tweet_id}")
        # 执行转发
        api.retweet(latest_tweet_id)
        print("转发操作执行成功")
    else:
        print("该账号暂无符合条件的公开推文")
except Exception as e:
    print(f"操作出错:{str(e)}")

4. 注意事项

  • 新增tweet_mode="extended"参数可获取完整的推文内容,避免默认接口截断长推文
  • 确保你的Twitter开发者账号已经开通了读写权限,否则会触发权限类报错
  • 如果你使用的是Twitter API v2版本,对应方法名调整为client.retweet()和get_users_tweets(),入参逻辑和v1.1版本基本一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:45:03