我有一个公共的Google云端硬盘文件夹,其中包含数十个光栅文件(.tif; folder here)。我想一次下载一个文件,然后通过r中的一个函数传递它(然后删除/替换栅格),而不使用oauth令牌(即tidyverse api程序包)。
“ googledrive”包似乎总是要求访问我的云端硬盘,即使该文件夹是公共文件夹也是如此。它是否正确?我在处理oauth令牌时犹豫不决,宁愿使用不需要它的脚本。这是我尝试的第一个文件,但是由于tidyverse请求访问而停止在这里:
library(googledrive)
temp <- tempfile(tmpdir = "C:/Temp", fileext = ".tif")
test <- drive_download(as_id("1StU410Ox_azZUmsFISElB8uXVsNx72mG"), path = temp, overwrite = TRUE)
我也尝试了包裹curl:
library(curl)
id <- "1StU410Ox_azZUmsFISElB8uXVsNx72mG"
URL <- sprintf("https://drive.google.com/drive/folders/%s", id)
con <- curl(URL)
但是不知道如何从那里提取栅格。
最后,我尝试了:
myUrl <- "https://drive.google.com/file/d/1StU410Ox_azZUmsFISElB8uXVsNx72mG/view?usp=sharing"
test <- raster(url(myUrl))
但是收到以下错误消息:错误(函数(类,fdef,mtable):无法找到签名“ URL”的函数“ raster”的继承方法
让我知道是否可以在不带令牌的情况下读取保存在Google云端硬盘中的光栅文件。与此问题相关,Google云端硬盘文件夹中是否可能存在从一个文件到下一个文件的循环?有没有一种方法可以提取Google云端硬盘文件夹中所有文件的ID?如果下载整个文件夹,我会担心空间。