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

Python类Twitter点赞机器人出现401 Unauthorized认证错误求助

认证错误原因及解决办法

核心问题分析

你的401未认证错误主要来自以下几个点:

  • bearer_token变量未定义:代码中多次使用bearer_token,但你仅从twitterkeys.txt读取了4个密钥,没有加载Bearer Token,导致初始化Client和StreamingClient时认证无效。
  • 点赞操作的认证方式不匹配:tweepy.Client.like()需要用户级认证(OAuth 1.0a或OAuth 2.0用户凭证),如果仅用Bearer Token(应用级认证)调用该接口,会因权限不足被拒绝——Bearer Token仅支持只读操作,无法执行点赞这类需要用户身份的操作。
  • 权限配置缺失:即使你用了OAuth 1.0a,若开发者平台的应用权限仅设置为「只读」,生成的access token也没有点赞权限。

具体修复步骤

  1. 补充Bearer Token的读取
    确保你的twitterkeys.txt第5行是Bearer Token,然后在代码中添加读取逻辑:
all_keys = open("twitterkeys.txt", "r").read().splitlines()
api_key = all_keys[0]
api_key_secret = all_keys[1]
access_token = all_keys[2]
access_token_secret = all_keys[3]
bearer_token = all_keys[4]  # 新增这行,加载Bearer Token
  1. 修正Client初始化逻辑
    点赞需要用户级认证,所以初始化Client时使用OAuth 1.0a凭证,而非Bearer Token:
# 用OAuth 1.0a凭证初始化Client,支持用户级操作(点赞、转发等)
client = tweepy.Client(
    consumer_key=api_key,
    consumer_secret=api_key_secret,
    access_token=access_token,
    access_token_secret=access_token_secret
)
  1. 检查并更新应用权限
    登录Twitter开发者平台,进入你的应用:
  • 找到「Permissions and features」选项
  • 将权限设置为Read and write
  • 重新生成access token和access token secret,替换到你的密钥文件中
  1. 验证StreamingClient的认证
    StreamingClient使用Bearer Token是正确的(流读取属于应用级操作),这部分无需修改,只要确保bearer_token变量已正确加载即可。

关于OAuth 1.0a的疑问

OAuth 1.0a本身不是问题,它完全支持点赞这类用户操作。你的错误和OAuth 1.0a无关,是认证配置和权限设置的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:55:16