2011-08-15 38 views
4

我試圖在Google Docs API的幫助下更新現有文檔。我正在使用PHP + Curl。 gdata.class.php是基類。部分更新完成。舊內容被清除。但是不會創建新的內容。據文檔,我發送PUT請求(初始請求),以解決更新後有一個空文件

http://docs.google.com/feeds/upload/create-session/default/private/full/document%123456 

有文檔和空請求主體的Etag。我recive狀態碼200 Ok和獨特的上傳URI是這樣的:

http://docs.google.com/feeds/upload/create-session/default/private/full/document%123456?upload_id=EnB2Uob7DWcFVJTX3oF8sdVv9koZTHacngmM_ 

,我應該怎麼辦???

  1. 我發送文件內容和標題,以獨特的上傳URI:

    [0] => Content-Length: 6 
    [1] => Content-Range: bytes 0-5/6 
    [2] => Content-Type: text/plain 
    

    的性反應被recived:

    HTTP/1.1 308續傳未完成

    標題不包含「範圍」標題。真奇怪。 結果:目標文件未更改。

  2. 我送文件內容和標題,以獨特的上傳URI:

    [0] => Content-Length: 6 
    [1] => Content-Type: text/plain 
    

    的性反應是recived:

    HTTP/1.1 200 OK 
    

    有原子+身體裏的xml。 結果:目標文件變爲空。

P.s. curl_getinfo函數返回"5"。這不取決於文件的大小。

+0

什麼參數curl_getinfo返回5? –

+0

這是CURLINFO_SIZE_UPLOAD選項。 – Dasha

回答

0

那麼,如果它要求你使用PUT方法,然後告訴捲曲使用它..

curl_setopt($ch, CURLOPT_PUT, 1); 
相關問題