亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取要刪除的已創建文件的文件 ID - Google Drive API

獲取要刪除的已創建文件的文件 ID - Google Drive API

PHP
浮云間 2023-10-01 17:17:38
我正在嘗試使用 google Drive 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;我查看了 google Drive api 但找不到任何這樣的方法。我想要上傳文件的 id 的原因是,如果我想使用該特定 id,我可以刪除文件最終,這是我要編寫的函數:// Deletes a specific file from a specific folderfunction deleteFile($folderName, $fileID) {}這樣,如果給定文件夾中碰巧存在同名文件,我們就可以受到保護并刪除正確的文件。
查看完整描述

1 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

我相信你的目標如下。

  1. 您想要使用 php 的 googleapis 檢索 Google Drive 上上傳文件的文件 ID。

  2. 當 的文件名$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。


查看完整回答
反對 回復 2023-10-01
  • 1 回答
  • 0 關注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號