如何使用字节范围更新Google云端硬盘文件

时间:2013-05-25 01:14:04

标签: google-drive-api

我正在尝试了解Google API如何在服务器端工作,以便让我实现自己的可恢复上传类型。我知道我可以使用MediaFileUpload或MediaInMemoryUpload机制,但我正在寻找更原始的东西。例如,我想故意从文件上传1k,然后稍后(比如几天之后),追加另外1k的文件。显然这里不是真实的数字,但希望你能得到这个想法。那么这就是我使用代码的地方:

headers = {
    'range': 'bytes=%d-%d' % (
        offset,
        offset + len(data)
    )
}
body = {
    'title': "MyFile.bin",
    'description': "",
    'modifiedDate': datetime.datetime.now().isoformat(),
    'mimeType': 'application/octet-stream',
    'parents': [{ 'id': parentId }]
}
res = http.request(
    url, method="PUT", body=body, headers=headers
).execute()

正如您所看到的,您可以清楚地指定文件的参数(文件属性)和请求的标头规范。但是,您在何处指定要在该请求中上传的实际数据流?是否可以在请求中指定media_body?

2 个答案:

答案 0 :(得分:2)

您需要实现在https://developers.google.com/drive/manage-uploads#multipart

上解释的多部分HTTP请求

我建议您使用我们的JS client library并使用JavaScript标签下的existing implementation on the API reference

答案 1 :(得分:0)

在谷歌的路线图中引入此功能是不可能的,也不是正式的。附加到文件的唯一方法是从头开始再次更新整个文件。