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

Tweepy升级后调用tweet.retweet()报AttributeError无法转推故障

故障原因

该报错不属于认证故障,你可以正常抓取推文内容就已经证明认证凭证是有效的,如果认证失效,调用api.search_tweets时就会直接抛出401未授权错误,不可能拿到推文数据。

报错的根本原因是你升级到了v4.0及以上版本的Tweepy:2019年你使用的是v3.x及更早的旧版本Tweepy,当时Status、User等模型对象会绑定初始化好的API实例,支持直接调用tweet.retweet()这类实例方法完成操作;而v4.0版本重构了模型层逻辑,默认不再给模型对象绑定API实例,也废弃了模型对象自带的操作方法,所以调用时会因为实例绑定的_api属性为None抛出对应报错。

修复方案

不再使用模型对象自带的操作方法,直接调用你初始化完成的api实例的对应方法,传入目标对象的ID即可,修改对应代码段如下:

if (tweet.retweeted == False) or (tweet.favorited == False):
    # 替换原有的tweet.retweet()、tweet.favorite()
    api.retweet(tweet.id)
    api.create_favorite(tweet.id)
    print ("retweeted and favorited")
    break       
if tweet.user.following == False:
    # 替换原有的tweet.user.follow()
    api.follow_user(tweet.user.id)
    print ("followed the user")

额外注意:你原有代码中break写在了print ("retweeted and favorited")前面,会导致打印语句永远不会执行,上述示例已经调整了两者的顺序。

调整后原有其他逻辑不需要改动,功能即可恢复正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:36:01