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

使用R调用Twitter API爬取数据时遭遇403错误,请求排查方案

问题:使用rtweet调用Twitter API返回403错误

背景

已完成Twitter API注册,获取全部密钥(api key、api secret、access token、access secret、bearer token),遵循rtweet认证教程操作:

  1. 执行auth <- rtweet_app()并输入bearer token,认证对象显示<Twitter bearer token>,无401认证失败错误
  2. 执行查询时返回403错误

操作与错误详情

执行查询代码:

df <- search_tweets("#rstats", token = auth)

返回错误:

Error: Twitter API failed [403]
Check error message at https://developer.twitter.com/en/support/twitter-api/error-troubleshooting

查阅Twitter错误文档仅得到:

The request is understood, but it has been refused or access is not allowed. An accompanying error message will explain why.

会话信息

R version 4.1.3 (2022-03-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 22000)

Matrix products: default

locale:
[1] LC_COLLATE=English_Canada.1252  LC_CTYPE=English_Canada.1252    LC_MONETARY=English_Canada.1252 LC_NUMERIC=C                   
[5] LC_TIME=English_Canada.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base      

other attached packages:
[1] rtweet_1.0.2

loaded via a namespace (and not attached):
 [1] prettyunits_1.1.1 withr_2.5.0       digest_0.6.29     crayon_1.5.1      R6_2.5.1          lifecycle_1.0.1   evaluate_0.15    
 [8] httr_1.4.4        rlang_1.0.2       progress_1.2.2    cli_3.3.0         curl_4.3.2        vctrs_0.4.1       ellipsis_0.3.2   
[15] rmarkdown_2.14    tools_4.1.3       tinytex_0.40      hms_1.1.1         xfun_0.30         yaml_2.3.5        fastmap_1.1.0    
[22] compiler_4.1.3    pkgconfig_2.0.3   askpass_1.1       htmltools_0.5.2   knitr_1.39       
>

排查建议

  • 确认API权限与计划
    登录Twitter开发者平台,检查项目是否启用Twitter API v2的tweet.read等搜索相关权限;同时确认你的API计划(免费/基础/高级)支持search_tweets对应的端点,免费计划有查询频率和范围限制。

  • 适配API端点
    尝试直接调用v2版本的搜索函数,避免版本适配问题:

    df <- search_tweets_v2("#rstats", token = auth)
    
  • 获取详细错误信息
    用httr直接调用API,查看具体错误原因:

    library(httr)
    response <- GET(
      "https://api.twitter.com/2/tweets/search/recent?query=%23rstats",
      add_headers(Authorization = paste0("Bearer ", "你的bearer token"))
    )
    content(response)
    
  • 检查IP与网络
    确认当前IP未被Twitter API限制,公共网络或VPN可能触发安全拦截,尝试切换到稳定的私人网络测试。

  • 升级rtweet版本
    当前使用的rtweet_1.0.2版本较旧,升级到最新版本修复可能存在的API适配问题:

    install.packages("rtweet")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 05:27:28