我已经安装了 rtweet,当我想从美国以外的特定国家收集推文时,该软件包不会收集任何数据。我已经使用来自 Google 的相同 API 密钥作为 R 中的环境变量安装了Geocoding API、Maps JavaScript API和Geolocation API 。以下是我遵循的步骤:
生成 google maps_token
google_maps_token<-"my key XXXXXXXXXX"
主目录路径
home_directory <- path.expand("~/")
与令牌名称结合
file_name <- file.path(home_directory, "google_maps_token.rds")
将令牌保存到主目录
saveRDS(google_maps_token, file = file_name)
创建环境变量
cat(paste0("GOOGLE_MAPS_PAT=", file_name),
file = file.path(home_directory, ".Renviron"),
append = TRUE)
可视化 API 关键环境变量
usethis::edit_r_environ()
TWITTER_PAT=/Users/xxxxxx/.rtweet_token1.rds GOOGLE_MAPS_PAT=/Users/xxxxxx//google_maps_token.rds
保存 google api 密钥后,我重新启动 RStudio 以开始收集推文,这会发生:
加载 rtweet 库
library(rtweet)
收集来自美国的推文
tweets_USA <- search_tweets("#lang:en",
geocode = lookup_coords("USA",apikey = "google_maps_token"),
n=10, include_rts = FALSE)
正在搜索推文...完成收集推文!
收集来自墨西哥的推文
tweets_Mexico <- search_tweets("#lang:es",
geocode = lookup_coords("mexico",apikey = "google_maps_token"),
n=10, include_rts = FALSE)
正在搜索推文...完成收集推文!
此外,当我将 rtweet 包中的 lookup_coords() 函数与“usa”一起使用时,它可以工作
从美国获取坐标
usa <- lookup_coords("usa")
但是当我尝试按照帮助部分中的示例使用另一个地址时,它不会收集任何数据
从巴西获取坐标
bz <- lookup_coords("brazil")
但是当我直接在函数中编写 API 密钥时,它就可以工作了。出于安全原因,我改为写“XXXXXXXXXX”
mexico_coord <- lookup_coords(address = "mexico",
components = "country:Mexico",
apikey = "XXXXXXXXXXXX")
我做错了什么还是需要在另一个目录中安装 API 密钥?我不得不说我的工作目录(我保存我的项目和脚本的地方)与运行 path.expand("~/") 后出现的主目录不同