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

使用Tweepy调用X API v2持续返回401 Unauthorized错误求助

Troubleshooting 401 Unauthorized Error with Tweepy & X API v2 + Alternative Packages

排查401错误的核心方向

1. 凭证与权限验证

  • 核对所有凭证(API Key/Secret、Access Token/Secret、Bearer Token)的字符串,确保没有多余空格、换行或拼写错误,建议直接从X开发者后台复制后粘贴到环境变量,避免手动输入失误
  • 确认你的开发者项目访问级别:search_recent_tweets接口需要Essential及以上权限,免费基础访问无法调用该接口,可在X开发者后台查看项目的访问级别
  • 检查Bearer Token归属:确保使用的Bearer Token来自当前正在操作的开发者项目,而非其他项目

2. 代码变量与环境检查

  • 使用API Key/Secret+Token认证时,确认consumer_key、consumer_secret等变量已正确赋值,可通过print(consumer_key)验证变量内容
  • 使用Bearer Token时,添加print(os.environ.get('BEARER_TOKEN'))确认环境变量是否正确读取到值,避免因环境变量配置失效导致凭证为空

3. 查询参数与接口规则

  • 简化查询语句测试,比如用query="test"这类无特殊字符的查询,排除因查询语法违规(如使用未授权操作符)或内容违反X规则导致的权限拦截
  • 确认调用search_recent_tweets时没有遗漏必填参数,比如max_results(虽然可选,但部分场景下可能影响请求合法性)

4. IP与访问限制

  • 检查开发者项目是否设置了IP白名单,若有则确保运行代码的服务器/本地IP在白名单范围内
  • 确认当前访问地区未被X API限制,部分地区可能无法正常调用接口

替代Python包推荐

如果上述排查后仍无法解决问题,可以尝试以下工具:

  • python-twitter-v2:轻量级X API v2封装,语法简洁,灵活性强
    from twitter_v2 import TwitterV2Client
    
    client = TwitterV2Client(bearer_token="your-valid-bearer-token")
    response = client.search_recent_tweets(query="sample", max_results=10)
    
  • requests:直接发送HTTP请求,完全自定义请求细节,适合需要精细控制的场景
    import requests
    
    headers = {"Authorization": "Bearer YOUR_BEARER_TOKEN"}
    params = {"query": "sample", "max_results": 10}
    res = requests.get("https://api.twitter.com/2/tweets/search/recent", headers=headers, params=params)
    print(res.json())
    
  • Twython:支持X API v2的老牌库,更新频率较低,但适配简单场景足够使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 10:32:41