1 回答
TA贡献1843条经验 获得超7个赞
我相信你的目标如下。
您想要使用 php 的 googleapis 检索 Google Drive 上上传文件的文件 ID。
当 的文件名
$fileName
存在于 的特定文件夹中时$folderName
,您想要删除现有文件。
问题1的回答:
既然如此,下面的修改如何?
从:
$createdFile = $this->service->files->create($file, array(
'data' => $data,
'uploadType' => 'multipart'
));
到:
$createdFile = $this->service->files->create($file, array(
'data' => $data,
'uploadType' => 'multipart'
));
$createdFileID = $createdFile->getId(); // Added
这样,就可以通过 来检索上传文件的文件 ID $createdFileID。
问题2的回答:
当您想使用 的文件名和文件夹名称删除文件时function deleteFile($folderName, $fileName) {},下面的示例脚本怎么样?
示例脚本:
function deleteFile($folderName, $fileName) {
$client = getClient();
$drive = new Google_Service_Drive($client);
$res1 = $drive->files->listFiles(array("q" => "name='{$folderName}' and trashed=false"));
$folderId = $res1->getFiles()[0]->getId();
$res2 = $drive->files->listFiles(array("q" => "name='{$fileName}' and '{$folderId}' in parents and trashed=false"));
if (count($res2->getFiles()) == 0) {
// When the filename of $fileName is not existing,
// do something
} else {
$fileId = $res2->getFiles()[0]->getId();
$drive->files->delete($fileId);
}
}
在这种情况下,当 的文件名$fileName存在于 的特定文件夹中时$folderName,现有文件将被删除。
参考:
文件:删除
添加:
当您想使用文件ID删除文件时,可以使用以下脚本。
function deleteFile($fileID) {
$client = getClient();
$drive = new Google_Service_Drive($client);
$drive->files->delete($fileID);
}
在这种情况下,$folderName不需要使用。因为在 Google Drive 中,所有文件都有唯一的文件 ID。
- 1 回答
- 0 关注
- 85 浏览
添加回答
举报