使用Google Drive API for PHP,在设置;“永远保持预见”;真的吗?
我试图允许文件上传覆盖以前的副本,并将修订历史永久保存在Google Drive中。另外…我是否需要使用设置的ID上载,或者文件名是否将以本机方式覆盖 以下是我的测试函数示例:使用Google Drive API for PHP,在设置;“永远保持预见”;真的吗?,php,google-drive-api,Php,Google Drive Api,我试图允许文件上传覆盖以前的副本,并将修订历史永久保存在Google Drive中。另外…我是否需要使用设置的ID上载,或者文件名是否将以本机方式覆盖 以下是我的测试函数示例: function uploadFile($filename = "") { $title="testFile"; $description="Testing the upload of the file"; $mimeType=
function uploadFile($filename = "")
{
$title="testFile";
$description="Testing the upload of the file";
$mimeType="image/jpeg";
$filename = ROOTPATH."IMG_1232.JPG"; //Temporarily overriding $filename for testing.
$file = new Google_Service_Drive_DriveFile();
$file->setName($title);
$file->setDescription($description);
$file->setMimeType($mimeType);
// Set the parent folder.
if ($parentId != null) {
$parent = new Google_Service_Drive_ParentReference();
$parent->setId($parentId);
$file->setParents(array($parent));
}
try {
$data = file_get_contents($filename);
$this->startGDService();
$createdFile = $this->service->files->create($file, array(
'data' => $data,
'mimeType' => $mimeType,
'keepRevisionForever' => true // <---This doesn't seem to work.
));
return $createdFile;
} catch (Exception $e) {
print "An error occurred: " . $e->getMessage();
}
return;
}
函数上传文件($filename=”“)
{
$title=“testFile”;
$description=“正在测试文件的上载”;
$mimeType=“图像/jpeg”;
$filename=ROOTPATH。“IMG_1232.JPG”;//临时覆盖$filename进行测试。
$file=新的Google_服务_驱动器_驱动器文件();
$file->setName($title);
$file->setDescription($description);
$file->setMimeType($mimeType);
//设置父文件夹。
如果($parentId!=null){
$parent=新的Google_服务_驱动器_ParentReference();
$parent->setId($parentId);
$file->setParents(数组($parent));
}
试一试{
$data=file\u get\u contents($filename);
$this->startGDService();
$createdFile=$this->service->files->create($file,array)(
“数据”=>$data,
“mimeType”=>$mimeType,
“KeeprovisionForever”=>true/看起来我使用了错误的函数。创建函数将始终在驱动器上创建文件。若要覆盖特定文件,需要使用update()函数。请参见此处:
function updateFile($filename, $fileID)
{
$this->startGDService();
$filename = UPLOAD_PATH.$filename;
$mimetype = mime_content_type ($filename);
try {
$emptyFile = new Google_Service_Drive_DriveFile();
$data = file_get_contents($filename);
$this->service->files->update($fileID, $emptyFile, array(
'data' => $data,
'mimeType' => $mimetype,
'uploadType' => 'multipart',
'keepRevisionForever' => true
));
} catch (Exception $e) {
print "An error occurred: " . $e->getMessage();
}
}