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

调试情感分析机器人时遭遇Twitter API 403 Forbidden错误求助

问题

我找了个9个月前的旧版情感分析机器人想修改复用,但连接Twitter API时触发403 Forbidden错误,错误提示:

453 - 您当前仅能访问部分Twitter API v2端点和有限的v1.1端点(如media post、oauth),如需访问该端点可能需要更高权限。

我不太懂怎么管理Twitter API权限,相关代码如下:

import os
import tweepy
from textblob import TextBlob

# Authenticate with Twitter API
consumer_key = os.getenv('')
consumer_secret = os.getenv('')
access_token = os.getenv('')
access_token_secret = os.getenv('')

auth = tweepy.OAuthHandler('', '')
auth.set_access_token('', '')

api = tweepy.API(auth)

# Search for tweets about the Warriors
warriors_tweets = tweepy.Cursor(api.search_tweets, q='#GoldenStateWarriors', lang="en").items(1000)

# Perform sentiment analysis on tweets
positive_tweets = 0
negative_tweets = 0
neutral_tweets = 0

for tweet in warriors_tweets:
    analysis = TextBlob(tweet.text)
    if analysis.sentiment.polarity > 0:
        positive_tweets += 1
    elif analysis.sentiment.polarity < 0:
        negative_tweets += 1
    else:
        neutral_tweets += 1

# Print results
print("Positive tweets: ", positive_tweets)
print("Negative tweets: ", negative_tweets)
print("Neutral tweets: ", neutral_tweets)
问题分析与解决
  • 核心问题:API权限不足
    代码里调用的tweepy.API.search_tweets对应Twitter API v1.1的搜索接口,这个接口需要「Elevated」级别的访问权限,而你当前的账号只有基础访问权限,所以触发403错误。
  • 次要问题:认证参数未配置
    代码中OAuthHandler、set_access_token的参数是空字符串,os.getenv('')也没指定具体环境变量名,这会导致认证失败,就算权限够了也没法正常调用API。
  • 具体解决步骤
    1. 升级API权限:登录Twitter开发者平台,找到你的项目和应用,申请提升到「Elevated」访问级别(免费,能解锁v1.1的搜索接口)。
    2. 补全认证信息:把你的consumer key、consumer secret、access token、access token secret正确填入代码,或者通过环境变量传递(比如改成os.getenv('TWITTER_CONSUMER_KEY'),然后在系统中设置对应环境变量)。
    3. 验证:权限升级完成后,重新运行代码,确认搜索接口能正常返回数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 02:35:02