Google 驱动器恢复上传失败

Google Drive Resumable Upload Failing

我正在尝试使用 Google 驱动器可恢复上传 api[https://developers.google.com/drive/web/manage-uploads#resumable] 上传文件,但我总是收到 400 状态代码,并在该步骤中上传请求无效3 个过程。

对于第 1 步 (Starting a resumable session),我得到了 session uri,当我上传内容时,我遇到了错误的请求错误。

REQUEST HEADERS:
{
  "X-Upload-Content-Length": 249159,
  "X-Upload-Content-Type": "application/pdf",
  "content-type": "application/json",
  "Authorization": "Bearer ya..."
}

REQUEST BODY:
{
  "parents": [
    {
      "id": "0B..."
    }
  ],
  "title": "New file.pdf"
}

我得到了 session uri 的响应 https://www.googleapis.com/upload/drive/v2/files?uploadType=resumable&upload_id=AEnB2UpNCcQgsbuqKer6z25jVRX4ijweQkpAJ1aQ1nEQPGi_ODtvob9vSwQk2oyjzyUNQs-b2HenMst92HQo6WMKmQyO1lgTww

对于第 3 步(Uploading the file) 这是请求 headers.

{
  "Content-Length": 249159,
  "Accept-Encoding": "gzip, deflate",
  "Accept": "*/*",
  "User-Agent": "python-requests/2.3.0 CPython/2.7.8 Darwin/14.0.0",
  "Content-Range": "bytes 0-249159/249159",
  "Content-Type": "application/pdf",
  "Authorization": "Bearer ya..."
}

并且请求body包含长度再次相同的数据。数据是使用 python 请求模块从另一个 url 获得的块。

以下是google

对上述请求的回复
{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "badRequest",
        "message": "Invalid Upload Request"
      }
    ],
    "code": 400,
    "message": "Invalid Upload Request"
  }
}

除了 Google 驱动器外,它可以与其他云(相同的方法)一起使用。我在这里错过了什么?

我终于自己搞定了。这是代码中的一个错误,最后一个块的内容范围偏离了 1 个字节。