使用Tweepy调用Twitter API时遭遇403 Forbidden错误如何解决?
解决免费Twitter开发者账号发推文的403 Forbidden错误
问题原因
你当前使用的tweepy.API调用的是Twitter v1.1 API,但免费开发者账号已不再开放v1.1的发推文接口(statuses/update),仅支持通过Twitter API v2的create-tweet端点发布内容,因此触发403权限错误。
解决方案
1. 切换到Tweepy的v2 API客户端
使用tweepy.Client(专门适配v2 API)替代tweepy.API,示例代码如下:
import tweepy # 填入你的API密钥和令牌 CONSUMER_KEY = "你的Consumer Key" CONSUMER_SECRET = "你的Consumer 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 ) # 发布推文 try: response = client.create_tweet(text="测试推文内容") print(f"推文发布成功,ID: {response.data['id']}") except tweepy.TweepyException as e: print(f"发布失败: {e}")
2. 确认账号权限
登录Twitter开发者平台,进入你的项目:
- 找到「用户认证设置」,确保权限级别设置为Read and write(免费账号可申请该权限,无需付费升级)
- 若之前权限为只读,修改后重新生成Access Token和Access Token Secret,替换到代码中
内容的提问来源于stack exchange,提问作者BAT-FA
相关产品推荐
相关产品推荐

