2016-02-09 10 views
7

次のコードでGoogleドライブのファイルを更新できないようですが、すべてうまくいっていますがファイルはそのままですか?私はv3 apiで作業しています。Googleドライブ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

完全なリクエストと応答を提供できますか?他の種類のファイル(Googleドキュメントなど)で試したことがありますか?それはそれに応じて機能しますか? – Andres

答えて

12

私はそれを行うために管理、あなたが2番目の引数として空のファイルを配置する必要があり、なぜわからないが、このポストは私をたくさん助けた: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は更新するファイルで、dataはファイルを更新する新しいコンテンツです。

プレビューが変更されていないため、この後にGoogleドライブをリフレッシュするのを忘れてしまいました。お役に立てれば。

+1

ありがとうございますGoogleドライブのプレビューが更新されないことに言及してありがとうございます。あなたはその時私を救っただけです。 * fistbump * –

関連する問題