我正在使用PHP sdk。我使用下面的代码将文件插入驱动器。
$file = new Google_DriveFile();
$file->setTitle($title);
$file->setDescription($description);
$file->setMimeType($mimeType);
if ($parentId != null) {
$parent = new Google_ParentReference();
$parent->setId($parentId);
$file->setParents(array($parent));
}
$data = file_get_contents($uplodedFile['file']['tmp_name']);
$createdFile = $service->files->insert($file, array(
'data' => $data,
'mimeType' => $mimeType,
));
我想要做的是知道文件是否已成功上传到服务器。这个文件可能非常大,所以一旦完成,我想要通知。有没有办法用PHP sdk做到这一点?我不能使用实时API。
答案 0 :(得分:2)
如果您阅读了API Documentation (insert),则可以看到他们将上传内容封装在try/catch
块中。
try {
$data = file_get_contents($filename);
$createdFile = $service->files->insert($file, array(
'data' => $data,
'mimeType' => $mimeType,
));
// Uncomment the following line to print the File ID
// print 'File ID: %s' % $createdFile->getId();
return $createdFile;
} catch (Exception $e) {
print "An error occurred: " . $e->getMessage();
}
您会在Response
部分注意到:
如果成功,此方法将在响应正文中返回Files资源。
意味着您将获得上传的文件作为回报。否则,如上所示,将抛出catch()
异常。
另外,如果你向下滚动,你会注意到他们有一个你可以使用的PHP库,并且在他们的功能中他们说:
@return Google_DriveFile The file that was inserted. NULL is returned if an API error occurred.