Как я могу получить «общий идентификатор» изображения, используя DriveApp в скрипте Google, чтобы вставить его в ячейку листа Google? - PullRequest
0 голосов
/ 17 апреля 2020

Я хотел бы вставить изображение, расположенное на моем диске, в ячейку электронной таблицы. Для этого мне нужен общий идентификатор файла изображения. Общий идентификатор можно получить, нажав на файл вручную и нажав «Получить общую ссылку».

Это ссылка на изображение примера: https://drive.google.com/open?id=1qoWmf1eks6BZiMNv1PByvr6lcPLT0png

с идентификатором: 1qoWmf1eks6BZiMNv1PByvr6lcPLT0png

Когда я пытаюсь выполнить свой скрипт Google и использовать file.getId (), я получаю другой идентификатор. Изображение не отображается в ячейке листа Google при использовании идентификатора, полученного с помощью моего скрипта. Изображение отображается только с идентификатором из общей ссылки, полученной вручную. Кто-нибудь знает, как решить эту проблему?

Спасибо

См. Скрипт для получения идентификатора файла ниже:

function getFileID() {
  var name = "m285741_200316_001_FOV_enhanced.png";
  var files = DriveApp.getFilesByName(name);

  while (files.hasNext()) {

    var file = files.next();
   file.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
   var URL = file.getUrl();
   var ID = file.getId();
    
 }
  return ID;
 
}

1 Ответ

0 голосов
/ 20 апреля 2020

К сожалению, невозможно запускать пользовательские функции, требующие специальной авторизации.

Как вы можете прочитать в документации :

Если ваша пользовательская функция вызывает сообщение об ошибке У вас нет разрешения на вызов службы X. Служба требует авторизации пользователя и поэтому не может использоваться в пользовательской функции.

Чтобы использовать службу, отличную от перечисленных выше, создайте пользовательское меню, которое запускает функцию скрипта приложения вместо написания пользовательской функции. Функция, которая вызывается из меню, запрашивает у пользователя авторизацию, если это необходимо, и, следовательно, может использовать все службы скриптов приложений.

Рассмотрите возможность использования предложенного обходного пути. Здесь руководство по использованию пользовательских меню.

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