2014-04-02 32 views
0

SDK中可恢復上載(通常用於大型文件)的示例代碼已過時,並且不起作用(https://github.com/google/google-api-php-client/blob/master/examples/fileupload.php)。可在最新版本的Google API中恢復可上載PHP SDK

具體而言,獲取新Google_Http_MediaFileUpload時傳遞的$ request對象是錯誤的類類型。 Google_Http_MediaFileUpload需要Google_HTTP_Request對象,但在示例代碼中,所傳遞的內容實際上(在SDK的最新版本中)是Google_Service_Drive_DriveFile。

經過一番討論後,我看不到使用當前SDK執行此操作的明顯方式,與示例代碼具有相同的經濟性。 (我可以根據通用API文檔自己創建Google_HTTP_Request對象,從而看到冗長的方式)。

有沒有人有這樣的工作代碼的例子? (我谷歌搜索,但沒有找到任何。SDK的變化似乎在過去幾周)。

回答

0

我測試了Git的最新版本,並且該示例工作正常。唯一的「問題」是腳本花了一點時間才能完成處理,即使在我看到Google Drive上的文件後也是如此。

$request變量實際上是預期的類型Google_HTTP_Request

$request = $service->files->insert($file); 

// In the above line, $service is a `Google_Service_Drive` and 
// $service->files is `Google_Service_Drive_Files_Resource`' 
// which extends `Google_Service_Resource`. 
// That insert() method returns the result of a call 
// to Google_Service_Resource::call(), which 
// returns a Google_HTTP_Request 
+0

謝謝。我認爲你是對的,而且我已經刪除了導致這種對象返回的代碼的一個關鍵行;這一行: $ client-> setDefer(true); –

相關問題