Задать вопрос
@utsiye

Почему не работает скрипт в apps script?

Код должен получать имя папки и находить ссылку на нее по этому имени. Скрипт предварительно был авторизирован и добавлено разрешение на https://www.googleapis.com/auth/drive.
При запуске в таблице с того же аккаунта выдает следующее:
Exception: Specified permissions are not sufficient to call DriveApp.getFoldersByName. Required permissions: (https://www.googleapis.com/auth/drive.readonly || https://www.googleapis.com/auth/drive) (строка 2).


function GETFOLDERURLBYNAME(folderName) {
  var folders = DriveApp.getFoldersByName(folderName);
  if (folders.hasNext()) {
    var folder = folders.next();
    return folder.getUrl();
  } else {
    return "Папка не найдена";
  }
}
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Fzero0
@Fzero0
Вечный студент
Через редактор выполни authorizeScript() и посмотри права есть
function GETFOLDERURLBYNAME(folderName) {
  try {
    // Проверяем авторизацию
    if (!isAuthorized()) {
      throw new Error("Требуется авторизация. Запустите скрипт через редактор сначала.");
    }
    
    var folders = DriveApp.getFoldersByName(folderName);
    if (folders.hasNext()) {
      var folder = folders.next();
      return folder.getUrl();
    } else {
      return "Папка не найдена";
    }
  } catch (e) {
    return "Ошибка: " + e.message;
  }
}

// Функция для проверки авторизации
function isAuthorized() {
  try {
    DriveApp.getRootFolder();
    return true;
  } catch (e) {
    return false;
  }
}

// Запустите эту функцию один раз из редактора для авторизации
function authorizeScript() {
  Logger.log("Скрипт авторизован. Теперь можно использовать функцию в таблице.");
  DriveApp.getRootFolder(); 
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы