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

RStudio中使用rtweet获取Twitter推文时遇认证错误求助

解决rtweet认证错误:No default authentication found

出现该错误是因为你创建了认证对象但未将其设为默认认证,或未正确配置Twitter API的Bearer Token。按以下步骤修复:

步骤1:获取Bearer Token

  1. 登录Twitter开发者平台,进入你的项目与应用页面
  2. 找到「Keys and tokens」选项卡,生成并复制你的Bearer Token

步骤2:在R中配置默认认证

以下两种方式任选其一即可:

方式一:临时配置(单次会话有效)

在代码开头添加如下内容,替换为你的Bearer Token:

# 设置Twitter Bearer Token环境变量
Sys.setenv(TWITTER_BEARER_TOKEN = "你的Bearer Token")

# 创建认证并设为默认
auth <- rtweet_app()
auth_setup_default(auth)

方式二:永久保存认证(推荐)

运行一次以下代码,认证会保存到本地,后续无需重复配置:

# 用你的Bearer Token创建认证
auth <- rtweet_app(bearer_token = "你的Bearer Token")
# 将认证设为默认并保存
auth_setup_default(auth)

修改后的完整代码示例

knitr::opts_chunk$set(echo = TRUE)

library(rtweet)
library(data.table)

# 配置认证(替换为你的Bearer Token)
Sys.setenv(TWITTER_BEARER_TOKEN = "你的Bearer Token")
auth <- rtweet_app()
auth_setup_default(auth)

# 分析地点设置
mex_loc <- c(mexico_city = "19.43,-99.13,50mi",
             guadalajara = "20.67,-103.35,50mi",
             monterrey   = "25.67,-100.3,50mi",
             toluca      = "19.28,-99.66,50mi")

# 提取推文
myquery <- "add my query here" 

mytweets <- list()

for (i in 1:4) {
  mytweets[[i]] <- search_tweets(q = myquery,
                              n = 18000,
                              lang = "es",
                              geocode = mex_loc[i],
                              until = '2023-03-22' ,
                              include_rts = FALSE, 
                              retryonratelimit = FALSE)
}

tweet_dt_retail <- rbindlist(mytweets, use.names=TRUE )

额外注意事项

  • 确保你的Twitter应用拥有Read权限,否则无法获取推文
  • 不要直接在代码中硬编码Bearer Token,建议用.Renviron文件管理:在项目根目录创建.Renviron文件,添加TWITTER_BEARER_TOKEN=你的Token,重启RStudio后会自动加载该变量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:32:56