Загружайте растровые файлы из общедоступной папки Google Drive без токенов OAuth в - PullRequest
0 голосов
/ 25 января 2019

У меня есть общедоступная папка Google Drive, содержащая десятки растровых файлов (.tif; папка здесь ). Я хотел бы загрузить один файл за раз и пропустить его через функцию в r (затем удалить / заменить растр), не используя oauth-токены (то есть пакеты apid tidyverse).

Пакет "googledrive", кажется, всегда запрашивает доступ к моему диску, даже если папка общедоступна. Это правильно? Я чувствую нерешительность при работе с токенами и предпочитаю использовать скрипт, который не требует этого. Вот что я попробовал с первым файлом, но остановился на нем, потому что 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): невозможно найти унаследованный метод для функции ‘raster’ для подписи ‘« url »’

Дайте мне знать, если есть возможность прочитать в r растровые файлы, сохраненные на Google Диске, без токенов. В связи с этим вопросом, возможно ли иметь цикл, который идет от одного файла к другому в папке Google Drive? Есть ли способ извлечь идентификатор всех файлов в папке Google Drive? Меня беспокоит пространство, если я скачаю всю папку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...