0
我正在寫一個上傳腳本,使用斷點續傳上傳CSV文件到谷歌雲端硬盤文件夾時出錯下面。谷歌雲端硬盤API 400上傳大文件
它似乎工作文件的大小爲< = 20MB的文件,但更大的文件導致問題。
我有我正努力用5 MIB的塊大小上傳,但我在最後一個塊上傳得到一個400錯誤一個43 MB CSV文件:
file_meta = {'title': 'test.csv', 'description': 'Test CSV', 'mimeType': 'text/csv', 'parents': [{'id': myfolder_key}]}
convert_to_Google_Sheets = True
chunk_size = 1024*1024*5
content = <MediaIoBaseUpload object, resumable, 5 MiB chunk size>
req = drive.files().insert(body=file_meta, media_body=content, convert=convert_to_Google_Sheets)
response is None
while not response:
status, response = req.next_chunk()
if status:
print "Uploaded %d%%." % int(status.progress() * 100)
上傳似乎進展罰款,直到我們得到的最後一個塊,當它與一個400錯誤而終止:
Uploaded 11%.
Uploaded 23%.
Uploaded 34%.
Uploaded 46%.
Uploaded 57%.
Uploaded 69%.
Uploaded 81%.
Uploaded 92%.
Traceback (most recent call last):
File "<console>", line 2, in <module>
File "/usr/local/lib/python2.6/dist-packages/oauth2client/util.py", line 137, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/googleapiclient/http.py", line 880, in next_chunk
return self._process_response(resp, content)
File "/usr/local/lib/python2.6/dist-packages/googleapiclient/http.py", line 907, in _process_response
raise HttpError(resp, content, uri=self.uri)
HttpError: <HttpError 400 when requesting https://www.googleapis.com/upload/drive/v2/files?uploadType=resumable&convert=true&alt=json returned "Bad Request">
您可能想嘗試使用分段上傳。正如驅動器文檔中所述 - https://developers.google.com/drive/web/manage-uploads#multipart。 – Andres