2010-03-17 20 views
0

嗨,大家好我正在建立一個表單上傳文件到我的谷歌文檔帳戶,但它不工作我不斷收到錯誤 - 以下是我的代碼;無法從我的PHP表單上傳到谷歌文檔 - 獲取錯誤

$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME; 
$client = Zend_Gdata_ClientLogin::getHttpClient($username, $pww, $service); 
$docs = new Zend_Gdata_Docs($client); 

$newDocumentEntry = $docs->uploadFile($_FILES['file']['tmp_name'], $_FILES['file']['name'], null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI); 

我得到以下錯誤:

PHP Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Expected response code 200, got 400 Inconsistent repeating query parameter ' in C:...\Zend\Gdata\App.php:700

我使用PHP和Zend GDATA代碼。

回答

0

Zend_Gdata_Docs中有一個「bug」與mimetype。 如果你使用臨時文件和文件名作爲標題,它不會自動爲你拉動mimetype。它試圖根據臨時文件中不存在的fileLocation擴展名來獲取mimetype。

我做了一個適合我的類,而不是更新Zend類。 它被稱爲ConvertDoc因爲我希望能夠upload a spreadsheet and download as csv.

你真正需要的是這樣的......

// get mimetype from original file name 
    $filenameParts = explode('.', $originalFileName); 
    $fileExtension = end($filenameParts); 
    $mimeType = Zend_Gdata_Docs::lookupMimeType($fileExtension); 

而且通過$ MIME類型,而不是空的。