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

无法访问Twitter API 1.1 collections/show接口,返回403/220错误

解决Twitter API /1.1/collections/show.json 访问权限问题

我来帮你梳理下这个问题的核心原因和解决办法,毕竟你已经确认Token在其他接口能用,这个问题肯定是接口本身的权限限制导致的:

为什么会触发错误码220?

错误码220对应的就是「凭证无权访问该资源」,而这里的关键是:Twitter的/collections/show.json接口不支持App-only认证的Bearer Token。

你能正常访问的/search/tweets.json、/statuses/user_timeline.json(你写的/statuses/user_timeline/show.json应该是笔误,正确路径是/statuses/user_timeline.json)、/statuses/show.json和/users/show.json这些接口,都是允许App-only Token调用的,但Collections相关接口是个例外——它要求必须使用带有用户上下文的认证方式,也就是OAuth 1.0a的用户授权Token,或者OAuth 2.0的用户级Token(不是App-only的Bearer Token)。

具体解决步骤

  • 切换认证方式:把当前的App-only Bearer Token替换成用户级的认证凭证。你需要走OAuth 1.0a的用户授权流程,让用户授权你的App访问其数据,或者生成OAuth 2.0的用户Token(带用户上下文的那种)。
  • 检查App权限:登录Twitter开发者后台,在你的App的「Permissions and features」页面,确认已经申请了read类的权限(Collections属于用户内容读取范畴),并且用户授权时同意了这些权限。
  • 重新测试请求:用新的用户级Token调用/1.1/collections/show.json?id=576828964162965504,应该就能正常返回数据了。

额外小提示

如果你的项目有迁移空间,也可以考虑转到Twitter API v2版本,它的权限模型更清晰,对应的集合内容接口是/2/timelines/:id,而且支持的认证方式更灵活,能避免这类v1.1的权限坑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:00:09