2016-07-06 54 views
0

我用在我的應用程序下面的方法來與衆多基於發現的谷歌API的交互驅動方式:下載文件,發現API

service, flags = sample_tools.init(
    sys.argv, 'drive', 'v3', __doc__, __file__, 
    scope='https://www.googleapis.com/auth/drive') 
try: 
    self.data = service.files().get(
     fileId = file_id 
     ).execute() 

except Exception as e: 
    print str(e) 

然而,爲了要下載的文件,我需要在URL中添加「alt ='media'」參數。我一直無法找到任何有關如何通過這種實現來完成的文檔。我試過使用「導出」方法,但只適用於Google Docs,而不適用於其他類型的文件(我的是CSV)。

謝謝!

回答

1

您要找的是Downloading a file using alt=media

要下載的文件,你讓授權的HTTP GET請求 文件的資源URL,包括查詢參數alt=media

例如:

GET https://www.googleapis.com/drive/v3/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media 
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs 

這裏有一個片段的Python:

file_id = '0BwwA4oUTeiV1UVNwOHItT0xfa2M' 
request = drive_service.files().get_media(fileId=file_id) 
fh = io.BytesIO() 
downloader = MediaIoBaseDownload(fh, request) 
done = False 
while done is False: 
    status, done = downloader.next_chunk() 
    print "Download %d%%." % int(status.progress() * 100) 

如果你有興趣與CSV的直接下載鏈接,你也可以嘗試this guide

https://docs.google.com/spreadsheets/d/FILE_ID/edit?usp=sharing