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

Tweepy代码报错:'API'对象无'trends_place'属性,求解决方案

问题根源

这个报错的核心原因是Tweepy版本不兼容或认证方式错误:

  • Tweepy 4.0+版本中,原OAuthHandler已被重命名为OAuth1UserHandler,旧写法可能导致API对象初始化异常,进而缺失方法。
  • 若使用过新/过旧的Tweepy版本,API类的方法结构可能发生变化,trends_place方法被移除或调整位置。
  • 另外,Twitter API免费层级账号可能无权限访问trends/place端点,但这会报权限错误而非属性不存在。

解决方案

方案1:适配Tweepy 4.x+版本(推荐)

修改认证代码为新版本的授权类,同时验证认证有效性:

import tweepy

# 替换OAuthHandler为OAuth1UserHandler(Tweepy 4.x+要求)
auth = tweepy.OAuth1UserHandler(
    "consumer_key", "consumer_secret",
    "access_token", "access_token_secret"
)

api = tweepy.API(auth)

# 先验证认证是否成功
try:
    api.verify_credentials()
    print("认证成功")
except Exception as e:
    print(f"认证失败:{str(e)}")
    exit()

woeid = 1  # 全球趋势的WOEID
trends = api.trends_place(woeid)

for trend in trends[0]["trends"]:
    print(trend["name"])

方案2:降级到兼容的旧版本

若不想修改代码,可以降级到Tweepy 1.14.0版本(该版本保留了旧的OAuthHandler和trends_place方法):

pip uninstall tweepy -y
pip install tweepy==1.14.0

执行完成后,原代码可直接运行。

额外注意事项

  • 确保你的Twitter开发者账号已开通Twitter API v1.1的访问权限,且账号层级(基础级及以上)支持trends/place端点访问。
  • 替换代码中的consumer_key、consumer_secret、access_token、access_token_secret为你自己的开发者凭证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:54:58