如何通过Tweepy/Twitter API V2获取用户头像URL?
问题:调用Twitter API V2获取用户头像URL失败
我尝试用Twitter API V2获取指定用户名/ID的用户头像URL,但一直没拿到想要的结果。我的代码如下:
import tweepy client = tweepy.Client(bearer_token='bearer') tweets = client.get_user(username = 'jack', user_fields=['profile_image_url']) print(tweets)
得到的响应是:
Response(data=<User id=12 name=jack username=jack>, includes={}, errors=[], meta={})
问题分析与解决办法
你已经正确在user_fields里指定了profile_image_url,但问题出在你直接打印了整个Response对象——默认打印这个对象只会显示部分核心字段(id、name、username),不会展示你请求的额外字段。你需要访问Response的data属性,再从中提取头像URL。
另外,Twitter API V2返回的默认头像URL是小尺寸的(末尾带_normal.jpg),如果需要原始尺寸,把这个后缀去掉即可。
修改后的代码:
import tweepy client = tweepy.Client(bearer_token='your_bearer_token_here') # 获取用户数据并指定需要的字段 user_response = client.get_user(username='jack', user_fields=['profile_image_url']) user_data = user_response.data if user_data: # 提取小尺寸头像URL small_image_url = user_data.profile_image_url print("小尺寸头像URL:", small_image_url) # 转换为原始尺寸URL original_image_url = small_image_url.replace("_normal.jpg", ".jpg") print("原始尺寸头像URL:", original_image_url) else: print("未找到目标用户")
额外说明
- 确保你的Bearer Token有效,应用级Bearer Token默认拥有访问公开用户数据的权限,无需额外申请。
- 如果需要获取其他用户信息,直接在
user_fields列表中添加对应字段名即可,比如created_at、description等。
内容的提问来源于stack exchange,提问作者BorangeOrange1337
相关产品推荐
相关产品推荐

