使用rtweet包连接Twitter API至R时遇‘auth未找到’错误求助
解决rtweet认证"auth未找到"错误的正确配置
清理冗余依赖
无需安装ROAuth包,rtweet已内置完整认证功能,直接删除代码中相关行:
# 移除这两行冗余代码 install.packages("ROAuth") library(ROAuth)
方式1:OAuth 1.0a认证(支持用户上下文操作)
若你持有consumer key、consumer secret、access token、access secret四个OAuth 1.0a凭证,可使用此方式(支持发推、读取个人时间线等带用户权限的操作):
library(rtweet) # 修正变量拼写(你之前的acess_token少了一个c,应为access_token) app_name <- "statskenyon" consumer_key <- "你的consumer key" consumer_secret <- "你的consumer secret" access_token <- "你的access token" access_secret <- "你的access secret" # 创建OAuth认证对象 auth <- rtweet_oauth1.0( app = app_name, consumer_key = consumer_key, consumer_secret = consumer_secret, access_token = access_token, access_secret = access_secret ) # 设置为默认认证,后续rtweet函数将自动调用 auth_as(auth)
方式2:Bearer Token认证(只读公共数据查询)
若你仅持有Bearer Token,可使用此方式(适用于API v2的只读公共数据查询,比如搜索公共推文):
library(rtweet) bearer_token <- "你的Bearer Token" # 创建Bearer认证对象 auth <- rtweet_bearer(bearer_token) # 设置为默认认证 auth_as(auth)
验证认证是否成功
运行以下代码测试:
# Bearer认证测试:搜索公共推文 search_tweets("#rstats", n = 10) # OAuth认证测试:读取个人时间线 get_timeline(home = TRUE, n = 10)
注意事项
- 确保Twitter开发者账号已开启对应API权限(OAuth需读写权限,Bearer需只读权限)
- 凭证请勿直接明文写在脚本中,建议通过
Sys.setenv()或usethis::edit_r_environ()将凭证存入环境变量 - 检查变量名拼写,拼写错误会直接导致认证失败
内容的提问来源于stack exchange,提问作者Claire F
相关产品推荐
相关产品推荐

