Как получить доступ к Google листу, на который указывает кратчайший путь? - PullRequest
0 голосов
/ 29 апреля 2020

[! [Введите описание изображения здесь] [1]] [1] Я создал ярлык (новая функция Google) для листов Google.

Теперь я хочу получить все имеющиеся у меня таблицы в каталоге: эти функции больше не работают для обработки всей электронной таблицы: folder.getFilesByType(mimeType), потому что был введен ярлык "новый" для нового типа MIME.
Идентификатор ярлыка отличается от исходного файла. Вы больше не можете получить доступ по идентификатору файлов, найденных в каталоге.

  1. В чем заключается решение выбора в каталоге только ярлыков электронных таблиц и ярлыков?
  2. Как открыть электронная таблица, на которую указывает ярлык?
    function myFunction() {
      var ss=SpreadsheetApp.getActiveSheet();
      var idRepertoire=ss.getRange("A1").getValue();

      var monRep=DriveApp.getFolderById(idRepertoire);

      var fichiers=monRep.getFiles();


      while (fichiers.hasNext()) {
        var fichier=fichiers.next();
        var parentFichiers=fichier.getParents();
        while (parentFichiers.hasNext()){
          var parent=parentFichiers.next();
          var identiteF=fichier.getId();
          ss.appendRow([fichier.getName(),fichier.getMimeType(),identiteF,parent.getName()]);
          SpreadsheetApp.openById(identiteF).getSheetName("test").getRange("A1"); // causes an error for the shortcut
        }
      }

    }


  [1]: https://i.stack.imgur.com/grcin.png

1 Ответ

0 голосов
/ 05 мая 2020

Оба ваших вопроса можно решить с помощью Drive API .

Объяснение

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

  • Для типов таблиц:
GET https://www.googleapis.com/drive/v3/files

Со следующим параметром для поля q

mimeType = 'application/vnd.google-apps.spreadsheet'
  • Для типов ярлыков:
GET https://www.googleapis.com/drive/v3/files

С помощью следующего параметра для поля q

mimeType = 'application/vnd.google-apps.shortcut'

Впоследствии, если вы хотите извлечь файлы из вышеупомянутых ярлыков, вы можете просто сделайте запрос GET для каждого ярлыка. Таким образом, для одного ярлыка вы можете сделать что-то вроде этого, где fileId - это фактически идентификатор ярлыка .

GET  https://www.googleapis.com/drive/v3/files/fileId

Со следующими параметрами для fields поле

shortcutDetails

После этого запроса GET вы получите ответ, в котором вы найдете mimeType ярлыка, а также оригинал id файла из ярлыка.

{
 "shortcutDetails": {
  "targetId": "ID_OF_THE_ORIGINAL_FILE",
  "targetMimeType": "MIME_TYPE_OF_THE_ORIGINAL_FILE"
 }
}

Ссылка

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