R:下载Google Drive公用文件夹中的所有文件

R:下载Google Drive公用文件夹中的所有文件,r,download,google-drive-api,R,Download,Google Drive Api,我正在尝试获取RAIS(巴西员工注册数据集)的数据,该数据使用Google Drive公用文件夹共享。这是地址: 数据每年分为一个文件夹,每个文件夹中每个州有一个文件要下载。我想自动下载过程中的R,为所有年份,如果不是至少在每年的文件夹。下载的文件名应跟随手动下载时出现的文件名 A了解一点R,但不懂网络编程或网络抓取。这就是我所得到的: 通过手动下载2012文件的第一个文件,我可以看到我的浏览器用于下载的URL: 因此,我假设文件id为:0ByKsqUnItyBhS2RQdFJ2Q0RrN0

我正在尝试获取RAIS(巴西员工注册数据集)的数据,该数据使用Google Drive公用文件夹共享。这是地址:

数据每年分为一个文件夹,每个文件夹中每个州有一个文件要下载。我想自动下载过程中的R,为所有年份,如果不是至少在每年的文件夹。下载的文件名应跟随手动下载时出现的文件名

A了解一点R,但不懂网络编程或网络抓取。这就是我所得到的: 通过手动下载2012文件的第一个文件,我可以看到我的浏览器用于下载的URL:

因此,我假设文件id为:0ByKsqUnItyBhS2RQdFJ2Q0RrN0k

在搜索2012页面的html代码时,我能够找到该ID以及与之相关的文件名:AC2012.7z。 所有其他ID和文件名都在html代码的该部分中。因此,假设我可以正确下载该文件,我想我至少可以概括其他文件

在R中,我尝试使用流畅的代码下载文件:

url <- "https://drive.google.com/uc?id=0ByKsqUnItyBhS2RQdFJ2Q0RrN0k&export=download"
download.file(url,"AC2012.7z")
unzip("AC2012.7z")

url对于今天试图解决此问题的任何人,您都可以使用

库(谷歌硬盘)

ls_tibble@jdharison:tks。这里有点不同,因为主文件夹是公共的,而RGoogleDocs上的文档没有提到这一点。但是我会看看代码。你为什么不把整个文件夹复制到你自己的驱动器上,然后批量下载这些文件呢?@user3616725:不,我正试图用一个函数来包装它,以便下载和处理这些数据。因此,我不能假设用户拥有谷歌account@LucasMation你找到解决办法了吗?
library(googledrive)
ls_tibble <- googledrive::drive_ls(GOOGLE_DRIVE_URL_FOR_THE_TARGET_FOLDER)
for (file_id in ls_tibble$id) {
  googledrive::drive_download(as_id(file_id))
}