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 个字节。
我正在尝试使用 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 个字节。