php - 更新后有一个空文件

标签 php curl google-docs google-docs-api

我正在尝试借助 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. 我将文件内容和 header 发送到唯一的上传 URI:

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

    收到响应:

    HTTP/1.1 308 Resume Incomplete

    header 不包含“Range” header 。真奇怪。 结果:目标文件没有改变。

  2. 我将文件内容和 header 发送到唯一的上传 URI:

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

    收到响应:

    HTTP/1.1 200 OK
    

    正文中有atom+xml。 结果:目标文件变成空文件。

附言curl_getinfo 函数返回 “5”。这不取决于文件的大小。

最佳答案

好吧,如果它要求您使用 PUT 方法,那么告诉 CURL 使用它..

curl_setopt($ch, CURLOPT_PUT, 1); 

关于php - 更新后有一个空文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7062739/

相关文章:

php - 如何在 Linux 上使用 Apache 服务器高效地并行运行多个 PHP 脚本

scripting - 是否有 curl/wget 选项可以防止在出现 http 错误时保存文件?

php - 如何使用搜索和替换通过 API 修改 Google Docs 文档?

javascript - Google Docs 像素到英寸

php - htaccess 下载文件而不是加载

javascript - PHP 和 JS mcrypt 解密不起作用

php - 如何在调试 jQuery Mobile 表单时查看 PHP 错误?

php - 将请求限制为 100 个结果

php - 删除 cURL 中的 html 标签

perl - 连接到谷歌电子表格