2011-08-15 1 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があります。私はこのようなステータスコード200 Okと独特のアップロードURIをrecive:

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 
    

    responceがrecivedさ:

    HTTP/1.1 308再開不完全に

    ヘッダーには「範囲」ヘッダーが含まれていません。おかしいです。 結果:対象ファイルは変更されません。 responceがrecivedさ

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

    :原子が

    HTTP/1.1 200 OK 
    

    あり

  2. 私はユニークアップロードURIへのファイルの内容とヘッダを送信しています+ xmlは体内にあります。 結果:対象ファイルが空になりました。

p.s. curl_getinfo関数は"5"を返します。それはファイルのサイズに依存しません。 5を返さcurl_getinfoでどのようなパラメータまあ

+0

? –

+0

これはCURLINFO_SIZE_UPLOADオプションです。 – Dasha

答えて

0

それはそれを使用するCURLを伝え、その後、PUTメソッドを使用するように要求されます場合は...

curl_setopt($ch, CURLOPT_PUT, 1); 
関連する問題