免费调用Twitter API获取用户粉丝数遇403错误,求解决方法
解决Twitter机器人403权限错误的可行方案
核心问题原因
你遇到的403错误是因为Twitter API权限政策变更:免费用户已无法访问原v1.1的get_user、update_status等端点,仅能使用v2的部分基础端点。
分场景解决办法
1. 仅监控自身账号粉丝数(免费可实现)
如果机器人只需要追踪自己账号的粉丝数据,可改用API v2的免费端点重构代码:
import tweepy def main(): # 替换为你的开发者密钥 BEARER_TOKEN = '你的Bearer Token' ACCESS_KEY = 'XXXXXXXXX' ACCESS_SECRET = 'XXXXXXXXXXXX' CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXX' CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXX' Past_Followers = int(read_prev_followers_from_file()) # 初始化API v2客户端 client = tweepy.Client( bearer_token=BEARER_TOKEN, consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET, access_token=ACCESS_KEY, access_token_secret=ACCESS_SECRET ) # 获取自身账号的粉丝数 me = client.get_me(user_fields=['public_metrics']) Current_Followers = me.data.public_metrics['followers_count'] print(f"Current followers : {Current_Followers}") diff = Current_Followers - Past_Followers stat = f'Total Followers = {Current_Followers}. New Followers Today = {diff}' # 注意:免费版API v2不支持发推文,若需发推需升级到Basic付费层 # client.create_tweet(text=stat) write_curr_followers_to_file(Current_Followers)
- 免费权限限制:无法调用
create_tweet发推文,若必须发推需升级付费套餐。
2. 需监控其他账号粉丝数(必须升级权限)
如果要追踪其他用户的粉丝数据,免费权限完全无法满足,必须:
- 升级到Twitter API的Basic付费层,该层支持访问
GET /2/users/by/username端点获取其他用户的公开数据,同时允许发推文。 - 升级后,可使用
client.get_user(username='目标用户名', user_fields=['public_metrics'])获取目标用户的粉丝数,再通过create_tweet发布结果。
3. 额外注意事项
- 确保开发者后台已启用API v2访问权限。
- 旧v1.1的所有数据获取、发推端点均已对免费用户关闭,必须完全迁移到v2接口。
内容的提问来源于stack exchange,提问作者arjun gulyani
相关产品推荐
相关产品推荐

