Как узнать местоположение на Google Диске по идентификатору или URL-адресу Документов Google? - PullRequest
0 голосов
/ 03 марта 2020

В настоящее время я пытаюсь (но, к сожалению, не имею понятия), чтобы

  • получить имя папки (последняя папка, а не родительские)
  • данного Google c (ID или URL)
  • записать его в указанный c столбец с именем "Папка"
  • указанного c рабочего листа (ID)

Это должно l oop до получения последней строки / идентификатора.

Заранее благодарен за любую помощь!

Это файл примера

enter image description here

1 Ответ

1 голос
/ 03 марта 2020

Получить путь к My Drive из файла с идентификатором

Попробуйте:

function getFilePathFromId(id) {
  var id=id||"Put a default id in here for debugging pick one that is buried into the folders";
  var file=DriveApp.getFileById(id)
  var pA=[];
  pA.push(file.getName());
  var folder=file.getParents();
  do{
    var f=folder.next();
    pA.push(f.getName());
    folder=f.getParents()
  }while(folder.hasNext())
  SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(pA.reverse().join(' / ')), 'Path for ' + file.getName());
}

Получить путь к My Drive с помощью Id или Url

function getFilePathFromId(id) {
  var id=id||"**********id or url***********";
  var s=id.slice(0,6);
  if(s!='https:') {
    var file=DriveApp.getFileById(id);
  }else{
    var file=DriveApp.getFileById(id.slice(id.indexOf('/d/')+3,id.indexOf('/edit')));
  }
  var pA=[];
  pA.push(file.getName());
  var folder=file.getParents();
  do{
    var f=folder.next();
    pA.push(f.getName());
    folder=f.getParents()
  }while(folder.hasNext())
    SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(pA.reverse().join(' / ')), 'Path for: ' + file.getName());
}
...