![](/img/trans.png)
[英]Google Drive API - Changes: list. Getting the original ID of a deleted file
[英]Getting the file ID of a Created File To Delete- Google Drive API
我正在嘗試使用谷歌驅動器 API 獲取創建文件的文件 ID,以便我可以使用它來刪除文件。 這是代碼:
$file = new Google_Service_Drive_DriveFile();
$file->setName($fileName);
$file->setDescription('Volunteer Hours');
$file->setParents(array($folderId));
$data = file_get_contents($filePath);
$createdFile = $this->service->files->create($file, array(
'data' => $data,
'uploadType' => 'multipart'
));
是否有某種.id
方法我可以說:
$createdFileID = $createdFile.id;
我查看了谷歌驅動器 api 但找不到任何這樣的方法。 我想要上傳文件的 id 的原因是,如果我想使用該特定 id,我可以刪除文件最終,這是我正在嘗試編寫的 function:
// Deletes a specific file from a specific folder
function deleteFile($folderName, $fileID) {
}
這樣,如果給定文件夾中碰巧有同名文件,我們就會受到保護並刪除正確的文件。
我相信你的目標如下。
$fileName
的文件名存在於$folderName
的特定文件夾中時,您要刪除現有文件。在這種情況下,如何進行以下修改?
$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
$createdFileID
檢索上傳文件的文件 ID。 當您想使用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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.