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

使用Tweepy调用Twitter API发推文时遇403权限错误求助

解决Twitter API v2 + Tweepy 403权限错误(无法发送推文)

这个403错误的核心原因是你的Twitter应用没有配置OAuth 1.0a读写权限,且当前使用的访问令牌是基于旧权限生成的,无法调用create_tweet这类需要写入权限的端点。

步骤1:更新Twitter应用的权限设置

  • 登录Twitter开发者平台,进入你的应用页面
  • 点击「Settings」标签,找到「User authentication settings」
  • 在「Permissions」部分,选择Read and write(若需私信功能可选「Read, write, and direct messages」)
  • 保存设置后,必须重新生成访问令牌和访问令牌密钥(旧令牌的权限不会自动更新)

步骤2:修正Tweepy代码

发推不需要Bearer Token(它仅用于只读的应用上下文请求),直接使用OAuth1.0a的读写令牌即可,修正后的代码:

import tweepy

# 替换为你重新生成的密钥和令牌
CONSUMER_KEY = 'xxx'
CONSUMER_SECRET = 'xxx'
ACCESS_KEY = '新生成的读写访问令牌'
ACCESS_SECRET = '新生成的读写访问令牌密钥'

# 初始化带OAuth1.0a认证的Client
api = tweepy.Client(
    consumer_key=CONSUMER_KEY,
    consumer_secret=CONSUMER_SECRET,
    access_token=ACCESS_KEY,
    access_token_secret=ACCESS_SECRET
)

# 发送推文
try:
    response = api.create_tweet(text='I want to Tweet')
    print(f"推文发送成功,ID: {response.data['id']}")
except tweepy.TweepyException as e:
    print(f"错误: {e}")

额外注意事项

  • 确保你的开发者账号已通过基础审核,普通个人账号也能申请读写权限
  • 确认应用的认证流程是OAuth 1.0a(而非仅OAuth 2.0 Bearer Token),因为写入操作必须基于用户上下文的认证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:01:39