【发布时间】:2020-08-28 09:10:18
【问题描述】:
我知道在Google Drive API 中,您可以请求获取某个范围内的文件的一部分:Range: bytes=500-999,但我在查看 Google Apps Script reference 时似乎找不到那里的等效功能。
有人有什么想法吗?
【问题讨论】:
标签: javascript google-apps-script google-drive-api
我知道在Google Drive API 中,您可以请求获取某个范围内的文件的一部分:Range: bytes=500-999,但我在查看 Google Apps Script reference 时似乎找不到那里的等效功能。
有人有什么想法吗?
【问题讨论】:
标签: javascript google-apps-script google-drive-api
如果我的理解是正确的,那么这个答案呢?请认为这只是几个可能的答案之一。
为了实现the partial download,请在请求头使用Range: bytes=500-999。
作为一个简单的示例脚本,下面的脚本怎么样?在此脚本中,使用 Drive API 为文件 ID 的文件运行从 100 字节到 200 字节的部分下载。
var fileId = "###"; // Please set the file ID.
var start = 100;
var end = 199;
var url = "https://www.googleapis.com/drive/v3/files/" + fileId + "?alt=media";
var params = {
method: "get",
headers: {
Authorization: "Bearer " + ScriptApp.getOAuthToken(),
Range: "bytes=" + start + "-" + end,
},
};
var bytes = UrlFetchApp.fetch(url, params).getContent();
Logger.log(bytes.length)
100。0。如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
当我测试字节数组的最大大小时,我注意到规范已经改变。所以我将其添加为更新的规范。
之前:最大 Blob 大小为 52,428,800 字节。准确的说,当超过50MB的blob转换为字节数组时,就会出现错误。这样,当将 50MB 的字节数组添加到 50MB 的字节数组时,就会发生与最大大小有关的错误。这是我之前测量的实验结果。
现在:现在,当我再次测试这种情况时,虽然无法将 52,428,801 字节的文件作为字节数组检索(这是相同的规范。最大 blob 大小为 52,428,800 字节。) ,我注意到 52,428,800 字节的字节数组必须能够添加到 52,428,800 字节的字节数组中。至此,我可以确认可以创建 104,857,600 的字节数组。
【讨论】: