Есть пустой файл после обновления - PullRequest
4 голосов
/ 15 августа 2011

Я пытаюсь обновить существующий документ с помощью 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 загрузки, например:

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
    

    Ответ получен:

    HTTP / 1.1 308 Резюме не завершено

    Заголовки не содержат заголовок «Range». Это странно. Результат : целевой файл не изменен.

  2. Я отправляю содержимое файла и заголовки на уникальный URI загрузки:

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

    Ответ получен:

    HTTP/1.1 200 OK
    

    В теле есть атом + xml. Результат : целевой файл стал пустым.

P.s. Функция curl_getinfo возвращает "5". Это не зависит от размера файла.

1 Ответ

0 голосов
/ 12 сентября 2011

Хорошо, если он попросит вас использовать метод PUT, скажите CURL, чтобы он использовался ..

curl_setopt($ch, CURLOPT_PUT, 1); 
...