我在我的应用中使用以下方法与众多基于Google Discovery的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)
但是,为了下载文件,我需要添加" alt ='媒体'" URL的参数。我通过这种实现找不到任何关于如何做到这一点的文档。我尝试过使用" export"方法,但仅适用于Google文档,而不适用于其他类型的文件(我的是CSV)。
谢谢!
答案 0 :(得分: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