Tweepy开发Twitter机器人运行时报401 Unauthorized错误如何解决?
- 首先校验密钥准确性:确认你填写的consumer_key、consumer_secret、access token(代码中的key变量)、access token secret(代码中的secret变量)完全正确,没有多复制空格、换行符,也没有大小写混淆,这是最常见的错误原因。
- 检查开发者账号应用权限:X(原Twitter)开发者平台的应用默认仅授予只读权限,你调用的发推接口属于写操作,需要登录开发者后台,将对应应用的权限修改为「读和写」,修改后必须重新生成access token和secret,旧的凭证不会自动同步新权限。
- 适配API版本:你当前使用的
tweepy.API对应X的v1.1版本API,2023年之后新注册的免费层级开发者账号,默认不再支持v1.1版本的写接口,需要改用v2版本的客户端调用,参考代码如下:
import tweepy consumer_key = "你的API Key" consumer_secret = "你的API Key Secret" access_token = "你的Access Token" access_token_secret = "你的Access Token Secret" # 初始化v2客户端 client = tweepy.Client( consumer_key=consumer_key, consumer_secret=consumer_secret, access_token=access_token, access_token_secret=access_token_secret ) # 发送推文 response = client.create_tweet(text="Hello World") print(response)
- 同步本地系统时间:如果你的设备本地时间和标准时间误差超过5分钟,会导致OAuth签名验证失败,触发401错误,同步系统时间后重试即可。
- 规避重复内容限制:如果你的账号此前已经发送过完全相同的「Hello World」内容,X的反垃圾策略会拦截请求,也可能返回401错误,更换推文内容后再测试。
内容的提问来源于stack exchange,提问作者Roey Doron
相关产品推荐
相关产品推荐

