基於 https://developers.google.com/drive/web/manage-downloads#partial_download如何從驅動器API使用Python腳本範圍頭選項
我創建了一個功能下載一個大文件的一部分,但我不能得到它的工作。 我應該如何將範圍選項傳遞給標題?
resp, content = service._http.request(download_url, headers={'Range': 'bytes=0-299'})
def download_file(service, file_id):
drive_file = service.files().get(fileId=file_id).execute()
download_url = drive_file.get('downloadUrl')
title = drive_file.get('title')
originalFilename = drive_file.get('originalFilename')
if download_url:
resp, content = service._http.request(download_url, headers={'Range': 'bytes=0-299'})
if resp.status == 200:
file = 'tmp.mp4'
with open(file, 'wb') as f:
while True:
tmp = content.read()
if not tmp:
break
f.write(tmp)
return title, file
else:
print 'An error occurred: %s' % resp
return None
else:
return None
我得到:
發生錯誤:{ '狀態': '206', '替代協議': '443:QUIC,p值= 0.02',「內容「長度」:'300', '訪問控制允許標題':'接受,接受語言, 授權,緩存控制,內容處理,內容編碼, 內容語言,內容長度, Content-Range, Content-Type,Date,GData-Version,Host,If-Match,If-Modified-Since, If-None-Match,If-Unmodified-Since,Ori gig,OriginToken,Pragma, X-Goog-Encode,X-Goog-PageId, X-GData-Key,X-Goog-AuthUser,X-Goog-PageId, X-Goog-Encode -Response-If-Executable,X-Goog-Correlation-Id, X-Goog-Request-Info,X-Goog-Experiments,x-goog-iam-role, x-goog-iam-authorization-token,X -Goog-Spatula,X-Goog-Upload-Command, X-Goog-Upload-Content-Disposition,X-Goog-Upload-Content-Length, X-Goog-Upload-Content-Type,X-Goog-Upload -File-Name, X-Goog-Upload-Offset,X-Goog-Upload-Protocol,X-Goog-Visitor-Id, X-HTTP-Method-Override,X-JavaScript-User-Agent,X-Pan -Versionid, X-Origin,X-Referer,X-Upload-Content-Length,X-Upload-Content-Type, X-Us e-HTTP-Status-Code-Override,X-YouTube-VVT,X-YouTube-Page-CL, X-YouTube-Page-Timestamp','content-disposition': 'attachment; filename =「1981-0930 Public Program,Day 7,Part 1, Vishuddhi Chakra, NYC.mpg「; filename * = UTF-8 \'1981-0930%20Public%20Program%2C%20Day%207%2C%20Part%201%2C %20Vishuddhi%20Chakra%2C%20NYC.mpg', 'access-control-allow-credentials':'false','expires':'Sun,12 Dec 28th 2014 09:09:35 GMT','server': 'UploadServer(「建立於2014年12月19日 10:24:45(1419013485)」)','content-range':'bytes 0-299/1885163442', 'cache-control':'private,max-age = 0','date':'Sun,2014年12月28日 09:09:35 GMT','access-control-allow-origin':'*',' 'access-control-allow-methods':'GET ,OPTIO NS」, '內涵式': '視頻/ MPEG'}
謝謝
那你觀察什麼問題.. 。? – 2014-12-27 23:04:27
我得到206(見我的編輯),謝謝 – Radek 2014-12-28 09:15:54
我發現了一個錯誤,206是OK :)所以它應該是'如果resp.status == 206:' – Radek 2014-12-28 09:23:41