如何使用谷歌驱动器API for python?

时间:2016-07-17 12:13:25

标签: google-drive-api

我一直在搜索google drive api文档,但一直找不到好文档。我在哪里可以找到上传,下载,获取文件列表等模块和功能的详细信息???

2 个答案:

答案 0 :(得分:2)

以下是文档:https://developers.google.com/drive/v3/web/about-sdk 但我认为你已经找到了它。 有3个api's:

  1. 适用于Android
  2. 对于IOS
  3. HTTP(其他一切)
  4. 如果您正在编写某些PC软件,请使用HTTP Rest API。您将向谷歌服务器发送http请求,而不是调用功能或模块。 这是python

    的样本

    还有python的库使用http api

答案 1 :(得分:2)

Drive API允许您upload某些类型的二进制数据或媒体。对于支持媒体上传的任何方法,您可以上传的数据的具体特征在参考页面上指定:

  • 最大上传文件大小:此方法可存储的最大数据量。
  • 接受的媒体MIME类型:您可以使用此方法存储的二进制数据类型。

您可以通过以下任何方式进行上传请求。使用uploadType请求参数指定您使用的方法 - Simple UploadMultipart uploadResumable upload

在Google云端硬盘中创建文件时,您可以通过指定文件的mimeType属性将某些类型文件转换为Google文档,表格或幻灯片文档。以下示例显示如何将CSV文件上传为电子表格:

file_metadata = {
  'name' : 'My Report',
  'mimeType' : 'application/vnd.google-apps.spreadsheet'
}
media = MediaFileUpload('files/report.csv',
                        mimetype='text/csv',
                        resumable=True)
file = drive_service.files().create(body=file_metadata,
                                    media_body=media,
                                    fields='id').execute()
print 'File ID: %s' % file.get('id')

对于downloading个文件,API允许您下载存储在Google云端硬盘中的文件。此外,您还可以下载应用程序可以处理的格式的Google文档(文档,电子表格,演示文稿等)的导出版本。 Drive还支持通过webViewLink属性中的URL为用户提供对文件的直接访问。

要下载文件,您需要向文件resource URL发出授权的HTTP GET请求,并包含查询参数alt=media。例如:

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

以下是使用我们的Drive API客户端库执行文件下载的示例。

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)

这是一个Python Quickstart - 简单的Python命令行应用程序,它向Drive API发出请求。