Google Apps Script - DriveApp.getFoldersByName - Не получит файлы, как ожидалось - Попытка получить FileID из имени папки - PullRequest
1 голос
/ 23 октября 2019

Я пытаюсь получить идентификатор из имени папки в скрипте Служб Google. Имя папки уникально.

Сейчас у меня есть:

var folderID = DriveApp.getFoldersByName(fileName).next().getId()

Я также пытался:

var folders = DriveApp.getFoldersByName(fileName)
while (folders.hasNext()) {
var folder = folders.next()
var fileID = folder.getId()
}

Оба экземпляра сообщают мне "Не удается получить следующийobject: iterator достиг конца. "

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

Если это поможет, папка немного не в структуре файла. DriveFile1> DriveFile2> DriveFile3> FileToBeFound

Есть идеи?

Даже если я ищу небольшой фрагмент имени файла, то попробуйте перебрать его, но ничего не найдете.

Цель здесь - поместить загрузку формы в правильную папку в зависимости от пользователя, который ее загрузил. Имена пользователей уникальны, и у них не может быть возможности редактировать файл после загрузки. Все остальное прекрасно работает, я просто не могу получить идентификатор файла из имени папки

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Просто чтобы быть уверенным, попробуйте это:

function getFolderId(foldername) {
  var foldername=foldername||'Folder Name';
  var folders=DriveApp.getFoldersByName(foldername);
  var n=0;
  while(folders.hasNext()) {
    var folder=folders.next();
    n++;
  }
  if(n==1) {
    Logger.log(folder.getId());
    return folder.getId();
  }else{
    SpreadsheetApp.getUi().alert("More that one folder with the name " + foldername);
  }
}
0 голосов
/ 24 октября 2019

удалось исправить с помощью:

var folderName = <myuniquefoldername>

folderName = "Title Contains '"+folderName + "'"

var folderID = DriveApp.searchFolders(folderName).next().getId()

, в котором будет храниться папка ID. Я не смог заставить getFoldersByName работать вообще. Неважно, что я положил туда, ничего не найдется.

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