如何通过用户ID搜索Twitter Spaces?Tweepy使用遇阻求助
通过用户ID查找Twitter Spaces的方法
你当前使用的tweepy.Client.get_space()是通过Space的ID获取单个Space详情的接口,无法通过用户ID搜索Spaces,这就是参数无效的原因。
要通过用户ID获取关联的Spaces,有两种可行方式:
1. 使用get_users_spaces专用方法
这是Tweepy提供的直接获取用户关联Spaces的接口,可获取该用户主持、参与或被提及的Spaces。示例代码:
client = tweepy.Client( bearer_token=BEARER_TOKEN, consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET, access_token=ACCESS_TOKEN, access_token_secret=ACCESS_TOKEN_SECRET ) # 获取指定用户主持的Spaces,可按需调整参数 response = client.get_users_spaces( user_id="目标用户ID", space_fields="title,host_ids,participant_count,started_at", # 指定返回的Space属性 expansions="host_ids", # 扩展获取主持人的用户信息 state="live", # 可选,过滤状态:live(直播中)/scheduled(已预约)/ended(已结束) max_results=10 ) # 处理返回结果 if response.data: for space in response.data: print(f"Space标题: {space.title}, 参与人数: {space.participant_count}") else: print("未找到该用户相关的Spaces")
2. 通过搜索接口过滤用户
如果需要结合关键词搜索某用户的Spaces,可使用search_spaces接口,通过from:用户ID语法过滤:
response = client.search_spaces( query="from:目标用户ID 关键词", # 可添加关键词缩小范围 space_fields="title,started_at,participant_count" ) if response.data: for space in response.data: print(f"找到Space: {space.title}")
注意:使用这些接口需确保你的API密钥具备对应权限,X API的规则可能会更新,需确认当前接口的可用性。
内容的提问来源于stack exchange,提问作者Sasiadstar
相关产品推荐
相关产品推荐

