2016-02-09 33 views
7

Non riesco ad aggiornare il file in google drive con il seguente codice, tutto va bene ma il file rimane intatto? Sto lavorando con API v3.Come aggiornare il file in 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

Potete fornire la richiesta completa e la risposta per questo? Hai provato con altri tipi di file diversi (ad es. Google docs)? Funziona di conseguenza? – Andres

risposta

12

sono riuscito a farlo, bisogna mettere file vuoto come secondo argomento, non so perché, ma questo post mi ha aiutato molto: Google Drive API v3 Migration

Questa è la soluzione definitiva:

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

dove $ fileId è il file che si sta aggiornando e i dati sono nuovi contenuti che si stanno aggiornando il file.

Non dimenticare di aggiornare l'unità google dopo questo perché l'anteprima non cambia e ho perso un'ora su quello: /. Spero che questo ti aiuti.

+1

Grazie mille per aver menzionato che l'anteprima di Google Drive non si aggiornava. Mi hai appena salvato quell'ora. * * Fistbump –

Problemi correlati