使用academictwitteR调用get_all_tweets返回403错误如何解决
academictwitteR包403报错排查与解决指南
403报错定位逻辑
推特API返回403状态码本质是访问权限被拒绝,按以下优先级定位原因:
- 令牌配置错误:未正确配置开发者Bearer Token,或令牌存在复制错误、多余字符
- API权限不匹配:免费版推特API v2仅支持拉取最近7天的推文,拉取2020年这类早于7天的历史数据需要学术研究权限或高级付费权限
- 参数格式错误:你提交的时间参数存在两处格式问题:
- 结束时间日期顺序错误,
2020-31-12不符合YYYY-MM-DD规范,应为2020-12-31 - 时间戳内存在多余空格,
00: 00: 00的冒号前后、字符串末尾的空格都会导致参数校验失败
- 结束时间日期顺序错误,
- 开发者账号异常:推特开发者账号被限制调用,或申请的项目未开通对应API权限
403报错解决步骤
- 先修正代码参数,同时补充参数解决附带的两个警告:
# 提前创建好存储推文的本地文件夹,比如当前工作目录下的tweet_data文件夹 tweets_espn <- get_all_tweets( query = "fluminense", user = "ESPNBrasil", start_tweets = "2020-01-01T00:00:00Z", end_tweets = "2020-12-31T00:00:00Z", n = 10000, data_path = "./tweet_data/" # 指定存储路径后自动解决两个警告,数据会自动存为JSON文件 )
- 校验Bearer Token配置:
运行get_bearer()输出当前配置的令牌,和推特开发者后台的令牌对比,如果不一致,重新运行set_bearer("你的实际开发者令牌")完成授权。 - 确认API权限:
如果只有免费版API权限,先把时间范围调整到最近7天测试,若能正常返回数据则说明是权限不足导致无法拉取历史数据,需要申请推特学术研究API权限后再调取2020年的历史数据。
内容的提问来源于stack exchange,提问作者Denise Santana
相关产品推荐
相关产品推荐

