Кажется, я не могу обновить файл на диске Google с помощью следующего кода, все идет хорошо, но файл остается нетронутым? Я работаю с v3 api.
function updateFile($service, $fileId, $data) { try { $emptyFile = new Google_Service_Drive_DriveFile(); $file = $service->files->get($fileId); $service->files->update($fileId, $emptyFile, array( 'data' => $data, 'mimeType' => 'text/csv', 'uploadType' => 'multipart' )); } catch (Exception $e) { print "An error occurred: " . $e->getMessage(); } }
Мне удалось это сделать, вы должны поместить пустой файл в качестве второго аргумента, не знаете почему, но этот пост мне очень помог: Google Drive API v3 Migration
Это окончательное решение:
function updateFile($service, $fileId, $data) { try { $emptyFile = new Google_Service_Drive_DriveFile(); $service->files->update($fileId, $emptyFile, array( 'data' => $data, 'mimeType' => 'text/csv', 'uploadType' => 'multipart' )); } catch (Exception $e) { print "An error occurred: " . $e->getMessage(); } }
где $ fileId – это файл, который вы обновляете, а данные – это новый контент, который вы обновляете.
Не забывайте обновлять Google Drive после этого, потому что его предварительный просмотр не меняется, и я потерял один час: /. Надеюсь это поможет.