You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Postman Client获取Twitter用户时间线(JSON)鉴权失败求助

解决Twitter API认证错误(Code 32)的排查指南

咱先把这个问题的根源搞清楚——错误码32明确表示身份验证失败,这和Twitter封禁第三方客户端没有关系,大概率是你的认证配置、参数或者请求设置出了问题。下面是一步步的排查方案:

1. 确认你使用的Twitter API版本及对应认证方式

Twitter现在有两个主要API版本,认证规则完全不同,别搞混了:

  • API v2(推荐使用):主流认证方式是Bearer Token,也支持OAuth 2.0。获取用户时间线的接口是/2/users/{user_id}/tweets(注意必须用用户ID,不能直接用用户名,需要先调用/2/users/by/username/{username}接口获取目标用户ID)。
  • API v1.1(旧版):必须使用OAuth 1.0a认证,需要API Key、API Secret Key、Access Token、Access Token Secret四个凭证,时间线接口是/statuses/user_timeline.json

2. 核对认证凭证的正确性

这是最容易出错的环节:

  • 如果用Bearer Token(v2):
    • 登录Twitter开发者平台,找到你的应用,在「Keys and tokens」页面生成Bearer Token(注意要复制完整,不要有多余的空格或换行)。
    • 在Postman的请求头里添加:Authorization: Bearer 你的Bearer Token(Bearer后面必须有一个空格)。
  • 如果用OAuth 1.0a(v1.1):
    • 确保四个凭证(API Key、API Secret Key、Access Token、Access Token Secret)完全复制正确,没有漏字符或者多空格。
    • 在Postman的「Authorization」选项卡中选择「OAuth 1.0」,签名方法选HMAC-SHA1,勾选「Add params to header」,然后把四个凭证分别填入对应字段。

3. 检查开发者应用的配置状态

  • 确认你的开发者应用处于Active状态(登录开发者平台,在「Projects & Apps」里查看应用状态),未通过审核的应用会限制API调用。
  • 检查应用权限:v2需要tweet.readusers.read权限,v1.1需要read权限。如果权限不足,即使认证通过也会报错,但错误码不是32,不过可以顺便确认下。

4. 核对Postman的请求细节

  • 请求方法必须是GET,时间线接口不支持POST请求。
  • 检查请求URL是否正确:比如v2的接口必须包含用户ID,不能直接写用户名;v1.1的接口可以添加screen_name=目标用户名作为查询参数。
  • 不要同时使用多种认证方式:比如既加了Bearer Token头,又配置了OAuth参数,这会导致认证冲突。

举个v2版本的正确请求示例:

  • 请求URL:https://api.twitter.com/2/users/123456789/tweets?max_results=20(替换123456789为目标用户的实际ID)
  • 请求头:Authorization: Bearer ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890(替换为你的Bearer Token)

最后再强调下:Twitter早就取消了用户名密码的认证方式,所有第三方调用必须使用开发者平台生成的凭证,别尝试用账号密码去认证,肯定会失败。

按照上面的步骤逐一排查,应该能解决这个认证错误。

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

火山引擎 最新活动