使用team_drive_get

时间:2019-01-11 19:56:27

标签: r

我已经成功使用googledrive功能来访问自己的Google驱动器上的xlsx电子表格-因此

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 :(得分:1)

googledrive使用ID来为您的团队标识扁平化文件结构中的对象,即,您不需要知道子目录。如果您知道文件名,则只需搜索团队合作伙伴并找到ID(请参见下面的特定问题-以及为什么找到这个ID-)。

# 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
)

或者,如果您需要来查找子目录的特定ID(可能是对于没有该文件的现有ID的上载),则可以执行此操作。

# 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,
)