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

如何获取Twitter列表所有成员用户名?代码调用遇404错误求助

解决Twitter列表成员获取时的404错误问题

看起来你在抓取Twitter列表成员时碰到了404资源不存在的错误,我来帮你排查下问题根源和解决办法。

首先你提到的列表https://twitter.com/journalismnews/lists/uk-national-journalists?lang=en是公开可访问的,所以问题大概率出在API请求的逻辑上,尤其是Twitter不同版本API的规则差异导致的端点使用错误。

核心问题:API端点不匹配

Twitter目前主推v2 API,而v2和旧版v1.1 API在获取列表成员的逻辑上有明显区别:

  • v1.1 API:可以直接通过owner_screen_name和slug两个参数请求成员
  • v2 API:必须先获取列表的唯一ID,再用ID来调用成员接口

如果你的代码用了v2 API但直接传slug和owner参数,就会触发404错误——因为v2的成员接口不认这两个参数,只认列表ID。

解决步骤

1. 先获取列表ID(针对v2 API)

调用/2/lists/by接口,传入owner名称和slug来获取列表ID。示例curl请求如下:

curl --request GET \
  --url 'https://api.twitter.com/2/lists/by?owner_screen_name=journalismnews&slug=uk-national-journalists' \
  --header 'Authorization: Bearer YOUR_BEARER_TOKEN'

返回的JSON数据里,data.id字段就是你需要的列表ID。

2. 用列表ID获取成员

拿到ID后,调用/2/lists/:id/members接口获取成员。Python代码示例:

import requests

bearer_token = "你的Bearer Token"

# 第一步:获取列表ID
list_api_url = "https://api.twitter.com/2/lists/by"
params = {"owner_screen_name": "journalismnews", "slug": "uk-national-journalists"}
headers = {"Authorization": f"Bearer {bearer_token}"}

response = requests.get(list_api_url, headers=headers, params=params)
if response.status_code != 200:
    raise Exception(f"获取列表ID失败:{response.status_code} - {response.text}")
list_id = response.json()["data"]["id"]

# 第二步:获取列表成员
members_api_url = f"https://api.twitter.com/2/lists/{list_id}/members"
response = requests.get(members_api_url, headers=headers)
if response.status_code != 200:
    raise Exception(f"获取成员失败:{response.status_code} - {response.text}")

# 输出成员名称和用户名
for member in response.json()["data"]:
    print(f"名称:{member['name']},用户名:@{member['username']}")

如果你用的是v1.1 API

确保请求的端点是https://api.twitter.com/1.1/lists/members.json,并且使用OAuth 1.0a认证(不是Bearer Token),示例curl请求:

curl --request GET \
  --url 'https://api.twitter.com/1.1/lists/members.json?owner_screen_name=journalismnews&slug=uk-national-journalists' \
  --header 'Authorization: OAuth oauth_consumer_key="你的消费者密钥", oauth_token="你的访问令牌", ...'

额外检查点

  • 确认你的Bearer Token/OAuth凭证有效,并且拥有读取列表的权限
  • 再次核对slug和owner名称的拼写(虽然你提供的是正确的,但有时候大小写或特殊字符可能引发问题)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:16:41