将文件上传到Team Drive的子目录中

时间:2019-05-02 17:13:54

标签: google-drive-api google-drive-team-drive

我如何成功将文件上传到团队驱动器的子目录?使用drive_find()可以识别目录中的项目。无论我尝试什么,我所能做的最好的就是将文件放到团队驱动器的“ root”目录中。

我从中成功获取了名称,ID和驱动器资源的列表:

drive_find(team_drive = 'Data Analytics Team')

像这样:

# A tibble: 29 x 3
   name                               id                                                drive_resource
 * <chr>                              <chr>                                             <list>        
 1 00.ExampleSubDirectory             1XoNCDizzZMHZ4sbBhnCXb-qokk8TW7Q_                 <list [30]>   
 2 df_iris_in-2019-05-01              1kXSD_t96roqeLuXb0BDJfpCejlyZCa6FSL2YtdeWtxE      <list [33]>   
 3 df_iris_in-2019-05-01              1qT_kRff8J8Qu5ZLxZhGLMDB7gO9O1PTtJ_KHsjItgFI      <list [33]>   

当我尝试像这样使用示例子目录ID时:

td <- team_drive_get(as_id("1XoNCDizzZMHZ4sbBhnCXb-qokk8TW7Q_"))

我得到的只是这个错误:

Error: HTTP error [404] Shared drive not found: 1XoNCDizzZMHZ4sbBhnCXb-qokk8TW7Q_
  * domain: global
  * reason: notFound
  * message: Shared drive not found: 1XoNCDizzZMHZ4sbBhnCXb-qokk8TW7Q_
  * locationType: parameter
  * location: driveId

使用url或资源ID可以获得相同的结果。我已经尝试了以下文档中的所有内容:https://googledrive.tidyverse.org/ https://cran.r-project.org/web/packages/googledrive/googledrive.pdf

如何指定团队驱动器内子目录的路径?

1 个答案:

答案 0 :(得分:1)

结果非常简单。

找到要写入的文件夹的ID。在浏览器中导航到它是最容易的。该ID位于URL中。

例如,它是此URL中的1v4SQb39RTE0MCzrZlLXzxVDB4HPZ8NK7https://drive.google.com/drive/u/0/folders/1v4SQb39RTE0MCzrZlLXzxVDB4HPZ8NK7

将该ID放入连接驱动器路径/插槽的googsdrive中。

drivepath <- drive_get(as_id("1v4SQb39RTE0MCzrZlLXzxVDB4HPZ8NK7"))

将文件写入csv,请确保将csv命名为您希望电子表格添加标签的名称(减去.csv扩展名)。 (您可以在tempfile中进行此操作,但您的googlespreadsheet最终将以临时文件的名称开头。)

write_csv(iris, 'iris_example.csv')

最后将文件推送到所需目录。

drive_upload('iris_example.csv', type='spreadsheet', path = drivepath)