Доступ к файлу на командном диске с помощью team_drive_get - PullRequest
0 голосов
/ 11 января 2019

Я успешно использовал функции googledrive для доступа к электронным таблицам xlsx на моем собственном диске Google - так что

drive_download(file = "DIRECTOR_TM/Faculty/Faculty Productivity/Faculty productivity.xlsx", 
   overwrite=TRUE)

работает и сохраняет локальную копию файла для анализа.

В середине года мы перешли на использование командных дисков и эквивалент

drive_download(file = "Director/Faculty/Faculty Productivity/Faculty productivity.xlsx", 
   overwrite=TRUE)

не работает - я получаю сообщение об ошибке «Ошибка:« файл »не идентифицирует хотя бы один файл накопителя».

Итак, я попытался использовать функцию team_drive_get - и запутался

Director <- team_drive_get("Director")

работает - я получаю пустяк с одним наблюдением. Но файл, который я хочу, находится в подкаталоге на диске «Director». Итак, я попытался

TeamDrive <- team_drive_get("Director/Faculty/Faculty Productivity/")

но в результате получился трюк 0 obs.

Как получить доступ к файлу в подкаталоге на командном диске?

1 Ответ

0 голосов
/ 02 мая 2019

googledrive использует идентификаторы для идентификации объектов в плоской файловой структуре для вашей команды, т. Е. Вам не нужно знать подкаталог. Если вы знаете имя вашего файла, вам просто нужно найти диск с командой и найти идентификатор (см. Ваш конкретный вопрос - и почему я нашел это - см. Ниже).

# environment variables
FILENAME <- "your_file_name" 
TEAM_DRIVE_NAME <- "your_team_name_here"

# get file(s)
gdrive_files_df <- drive_find(team_drive = TEAM_DRIVE_NAME)
drive_download(
    as_id(gdrive_files_df[gdrive_files_df$name == FILENAME,]$id),
    overwrite = TRUE
)

В качестве альтернативы, это то, что вы можете сделать, если вам do нужно найти конкретный идентификатор подкаталога (возможно, для загрузки, когда для файла нет существующего идентификатора).

# environment variables
FILEPATH <- "your_file_path"
TEAM_SUBDIRECTORY <- "your_subdirectory"

# grab the ID of your subdirectory and upload to that directory
drive_upload(
    FILEPATH,
    path = as_id(gdrive_files_df[gdrive_files_df$name == TEAM_SUBDIRECTORY,]$id), 
    name = FILENAME,
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...