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 關注
- 110 瀏覽
添加回答
舉報