Google drive api 如何通过api在googledrive中递归创建文件夹?

Google drive api 如何通过api在googledrive中递归创建文件夹?,google-drive-api,Google Drive Api,例如,我要将一个文件scannet.jpg上传到/images/2020/03/18/目录,如果我上传到OneDrive,上传url如下: https://graph.microsoft.com/v1.0/me/drive/root:/images/2020/03/18/scenery.jpg 我不必知道images文件夹、2020、03和18文件夹是否存在,OneDrive将自动递归创建它,就像基于对象的存储一样 但是现在,我要上传到GoogleDrive,GoogleDrive似乎无法递

例如,我要将一个文件
scannet.jpg
上传到
/images/2020/03/18/
目录,如果我上传到OneDrive,上传url如下:

https://graph.microsoft.com/v1.0/me/drive/root:/images/2020/03/18/scenery.jpg
我不必知道
images
文件夹、
2020
03
18
文件夹是否存在,OneDrive将自动递归创建它,就像基于对象的存储一样


但是现在,我要上传到GoogleDrive,GoogleDrive似乎无法递归地创建文件夹(据我所知,请参见),现在我有两个问题:

1、 我必须逐个检查这些文件夹是否存在,以确保是否必须创建这些文件夹?
/images/

/images/2020/

/images/2020/03/

/images/2020/03/18/

2、 如果上面的文件夹都不存在,是不是我必须一个接一个地创建这四个文件夹(意味着请求api四次)

以前做过这件事的人?我希望我的假设是错误的,因为这样做太复杂了。

不幸的是,你是对的 Google以不同的方式处理文件和文件夹层次结构,实际上创建/列出嵌套文件和文件夹的唯一方法是递归迭代

此外,如果您想知道该方法是否已经存在文件/文件夹,则需要知道文件/文件夹ID,而不仅仅是名称。如果您不知道ID,则需要删除驱动器上的所有文件/(除非您指定某个文件夹作为父文件夹,例如父文件夹中的
'1234567'(带)

这同样适用于创造。如果创建的文件夹希望成为其他父文件夹的子文件夹,则还需要创建父文件夹

然而,它并不像你想象的那么复杂

是如何动态列出所有子文件夹和子文件夹的子文件夹的内容的许多可用示例之一-在您的情况下,如果列表中不包含某个文件夹,则只需添加创建该文件夹的条件


你需要花一些时间来研究驱动API的工作原理,但是一旦你理解了它就不复杂了。

天哪,我多么希望我的假设是错误的,我不明白为什么谷歌驱动不喜欢OneDrive(这非常简单),但无论如何还是要谢谢你。