Ошибка «Недопустимый аргумент» при разархивировании BLOB-объекта в скрипте Apps - PullRequest
1 голос
/ 04 февраля 2020

У меня есть скрипт, который получает сжатый BLOB-объект от стороннего API. Я пытаюсь распаковать его, используя Utilities.ungzip(), но получаю ошибку Invalid Argument. Вот пример кода:

var liveReportResponse = UrlFetchApp.fetch(url)
var unzipped = Utilities.ungzip(liveReportResponse.getBlob()) // Fails with Invalid Argument error

Странно, что я могу извлечь содержимое, используя файл диска в качестве промежуточного хранилища:

var image = liveReportResponse.getBlob()
var file = {
  title: 'some_file_.gzip'
};
file = Drive.Files.insert(file, image);
var file = DriveApp.getFileById(file.id)
var blob = file.getBlob()
var someBytes = Utilities.ungzip(blob) // It works
var data = someBytes.getDataAsString()

Буду признателен за любую помощь для исправления этого.

1 Ответ

2 голосов
/ 04 февраля 2020

В конце концов, мне удалось исправить это с помощью:

liveReportResponse.getBlob().setContentType('application/x-gzip')

application/x-gzip, кажется, нигде не документировано, но я получил от blob.getContentType()

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