2016-02-09 11 views
7

Nie mogę zaktualizować pliku na dysku Google z następującego kodu, wszystko idzie dobrze, ale plik pozostaje nietknięty? Pracuję z v3 api.Jak zaktualizować plik w google drive v3 PHP

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(); 
     } 
    } 
+0

Czy możesz podać pełną prośbę i odpowiedź na to pytanie? Czy próbowałeś z innymi rodzajami plików (np. Google Docs)? Czy to działa poprawnie? – Andres

Odpowiedz

12

udało mi się to zrobić, trzeba umieścić pusty plik jako drugi argument, nie wiem dlaczego, ale ten post bardzo mi pomogło: Google Drive API v3 Migration

Jest to ostateczne rozwiązanie:

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(); 
     } 
    } 

gdzie $ fileId to plik, który aktualizujesz, a dane to nowe treści, które aktualizujesz.

Nie zapomnij odświeżyć dysku Google po tym, ponieważ jego podgląd nie zmienia się i straciłem jedną godzinę na to: /. Mam nadzieję że to pomoże.

+1

Dziękujemy WIĘCEJ za to, że podgląd Google Drive nie odświeżył się. Właśnie oszczędziłeś MNIE w tej godzinie. * fistbump * –