Сценарий Google Apps получает диапазон байтов из двоичного файла - PullRequest
0 голосов
/ 12 февраля 2020

Мне известно, что в Google Drive API вы можете запросить получение части файла в определенном диапазоне: Range: bytes=500-999, но я искал в Google Apps Script ссылка и я не могу найти там эквивалентную функцию.

У кого-нибудь есть идеи?

1 Ответ

3 голосов
/ 12 февраля 2020
  • Вы хотите получить частичное тело файла.
  • Вы хотите добиться этого с помощью Google Apps Script.

Если мое понимание верно, как насчет этот ответ? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Чтобы добиться частичной загрузки , используйте Range: bytes=500-999 в заголовках запросов.

Пример сценария :

Как простой пример сценария, как насчет следующего сценария? В этом сценарии частичная загрузка от 100 до 200 байт выполняется для файла идентификатора файла с помощью Drive API.

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 в журнал.
  • В качестве одного важного момента диапазон 1-го байта равен 0.
  • В качестве другого важного момента в скрипте Google Apps максимальный размер большого двоичного объекта составляет 50 МБ. (52 428 800 байт). Поэтому, пожалуйста, будьте осторожны.

Примечание:

  • Как еще один пример сценария, как насчет this ?

Ссылки:

Если я неправильно понял ваш вопрос и это было не то направление, которое вы хотите, я прошу прощения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...