Загрузить изображение из Google Таблиц с помощью Google Apps Script

У меня есть некоторые данные вместе с изображениями в таблице Google. Я отправляю данные в виде ответа JSON и развернул скрипт как веб-приложение.

Я использую код:

SpreadsheetApp.openByID("<sheet_id>").getSheets[0].getDataRange().getValues()

Я могу правильно загрузить данные, но не могу загрузить изображения. Для ячеек с изображением я получаю пустую строку.

Не могли бы вы предложить способ загрузки изображений с помощью того же сценария?

Если он может предоставить URL-адрес моего изображения, сохраненного на листе, это также решит мою проблему, поскольку я просто не хочу отображать изображение.


person Ranveer Singh    schedule 25.12.2019    source источник
comment
Когда я загружаю изображения в веб-приложение, я использую dataURI. Обычно я создаю их заранее и храню в файле. Но вы можете создавать их на лету, используя такой скрипт: function convImageToURI(){ var file=DriveApp.getFileById("Image File Id") var blob=file.getBlob(); var b64Url='data:' + blob.getContentType() + ';base64,' + Utilities.base64Encode(blob.getBytes()); Logger.log(b64Url); return b64Url; }   -  person Cooper    schedule 25.12.2019


Ответы (1)


На данный момент вы можете получить URL-адрес изображения, но при особых условиях:

  1. Изображение должно быть определено как изображение «над ячейкой» (оно не может быть «изображением в ячейке», поскольку они не поддерживаются скриптом приложений).

  2. Изображения должны быть вставлены по URL-адресу (а не путем загрузки из вашей локальной системы).

Это можно сделать следующим образом:

  1. Получите Sheet, изображения которого вы хотите получить.
  2. Получите его изображения с помощью метода getImages().
  3. Получите URL-адрес каждого изображения с помощью getUrl() метод.

Если вас интересует возможность более простого получения изображений "в ячейке", я предлагаю вам посетить запросы функций в Общедоступный трекер проблем или подумайте о создании нового.

person carlesgg97    schedule 25.12.2019