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

使用Tweepy调用Twitter V2 API的get_me()时expansions参数报错

解决Tweepy调用get_me()时expansions参数报错的问题

问题根因

你搞混了Twitter V2 API不同端点的expansions参数支持范围。get_me()对应API的/users/me端点,这个接口只认pinned_tweet_id作为expansions参数值——author_id是给推文相关接口(比如搜索推文、获取单条推文)用的扩展参数,用来拉取推文作者的信息,根本不适用于用户信息查询接口。

修正代码

如果只是要拿当前授权用户的username、created_at、location这些基础信息,完全不需要加expansions,直接指定user_fields就行:

client = tweepy.Client(
    consumer_key=private.API_KEY,
    consumer_secret=private.API_KEY_SECRET,
    access_token=access_token,
    access_token_secret=access_token_secret)

# 去掉无效的expansions参数,直接获取指定用户字段
user = client.get_me(user_fields=['username','created_at','location'])
print(user.data)  # 直接打印用户核心数据
return('success')

要是需要获取用户的置顶推文,才需要用expansions='pinned_tweet_id',同时可以加tweet_fields来拿到推文的具体内容:

user = client.get_me(expansions='pinned_tweet_id', tweet_fields=['text','created_at'])
# 用户信息在user.data里,置顶推文在user.includes['tweets']集合中
print("用户信息:", user.data)
print("置顶推文:", user.includes['tweets'])

补充说明

  • Tweepy的方法参数完全对齐Twitter官方API的要求,以后遇到参数报错,先核对对应接口的官方参数列表,别把不同接口的参数混用。
  • 没必要放弃Tweepy,它已经帮你搞定了3-legged认证这些复杂流程,比自己写请求靠谱多了,只是要注意不同接口的参数差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 08:10:37