如何检查文件夹是否已经存在于谷歌驱动器


How to check if folder already exists in google drive?

我正在尝试制作一个php脚本,将文件从服务器上传到客户端的谷歌驱动器,我已经成功上传了文件,甚至在我使用curl创建的文件夹中,但问题是我需要检查客户端是否已经有了一个具有特定名称的文件夹,如果有,我必须获取id并将文件上传到该文件夹的id,这是我用来制作文件的代码:

$folder_fields = "{'"title'":'"innitel'",
    '"parents'":'"[{}]'",
    '"mimeType'":'"application/vnd.google-apps.folder'"}";

$ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/drive/v2/files");
    curl_setopt($ch, CURLOPT_PORT, 443);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $folder_fields);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HTTPHEADER, ARRAY("Authorization: Bearer $access_token",
    "Content-Type: application/json"));
    $reponse = curl_exec($ch);

此方法将在每次运行脚本时创建一个具有相同名称的文件夹。有办法吗?

注意:我不能使用googleapiphp客户端,因为服务器的php版本是5.3,这是不受支持的。

方法取决于您是否具有全局唯一的文件夹名称。如果答案是肯定的,只需执行files.list q title="foo"即可。如果你得到一个项目,就有现有的ID。如果你没有得到项目,你需要创建它。

另一方面,如果没有全局唯一的文件夹名称,则需要构建获取文件夹层次结构并检查父文件夹,这要复杂得多。