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

Tweepy v2(4.14.0)Bearer Token无法使用,Twitter流接口报403错误

Twitter API v2 流处理 403 Forbidden 问题排查

问题描述

开发Twitter流处理程序时触发403权限错误,代码已使用关联项目的Bearer Token,但仍提示需使用绑定到项目的开发者应用密钥。

代码示例

import tweepy

class streaming_client(tweepy.StreamingClient):
    
    def on_tweet(self, tweet):
        #print(f"{tweet.text}")
        print(tweet.data)
        print("-"*30)

bearer_token = "XXXXXXXXX"
printer = streaming_client(bearer_token=bearer_token)

rule = tweepy.StreamRule(value="Python")
printer.add_rules(rule)
 
printer.filter()

错误信息

tweepy.errors.Forbidden: 403 Forbidden
When authenticating requests to the Twitter API v2 endpoints, you must use keys and tokens from a Twitter developer App that is attached to a Project. You can create a project via the developer portal.

排查与解决步骤

你的代码逻辑本身没有问题,403错误主要源于开发者平台的配置问题,按以下步骤逐一检查:

  • 确认Bearer Token正确性:确保复制的是项目关联应用的Bearer Token,而非API Key、API Secret或Access Token等其他凭证,检查是否存在复制时的空格、换行或多余字符。
  • 检查应用权限配置:登录Twitter开发者平台,进入对应项目的应用页面,确认已启用Twitter API v2的流访问权限。免费项目需匹配Standard Streaming的使用条件,学术研究项目需对应开通Academic Research Streaming权限。
  • 验证项目与应用的关联关系:在开发者平台「Projects & Apps」页面确认应用已绑定到目标项目,若未关联需重新完成绑定操作。
  • 检查令牌有效性:如果近期重新生成过应用的Bearer Token,需确保代码中使用的是最新生成的令牌,旧令牌会直接失效。
  • 确认API访问限制:免费项目的流API有规则数量(最多5条)和访问频率限制,虽一般触发429错误而非403,但也可检查当前规则是否超出限制。

代码小优化(可选)

若需要更清晰地打印推文结构化数据,可导入json模块格式化输出:

import json
import tweepy

class streaming_client(tweepy.StreamingClient):
    
    def on_tweet(self, tweet):
        print(json.dumps(tweet.data, indent=2, ensure_ascii=False))
        print("-"*30)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:35:15