Указание области общего диска для скриптов Google - PullRequest
0 голосов
/ 09 июля 2020

У меня есть общий диск Google с компанией, в которой я работаю (обратите внимание, что это отличается от общих папок, которые появляются в Shared With Me - никто не владеет общим диском, им владеет / управляет команда).

Я хотел бы иметь скрипт, который существует на общем диске и имеет доступ к общему диску (ie область находится внутри общего диска). Насколько я понимаю, DriveApp по умолчанию имеет область действия Мой диск создателя. Таким образом, я могу создать сценарий, сохраненный на общем диске, но DriveApp по-прежнему находится только в области «Мой диск».

Этот код

var rootFolder = DriveApp.getRootFolder();
console.log("Root Folder:", rootFolder.getName());

всегда возвращает Root Folder: My Drive

Есть ли способ указать, на каком диске работает DriveApp? Т.е. получить приведенный выше код для возврата Root Folder: Shared Drive Name

1 Ответ

1 голос
/ 09 июля 2020

На текущем этапе, к сожалению, DriveApp.getRootFolder() возвращает папку root на собственном Google Диске. Итак, чтобы получить папку root общего Диска, я хотел бы предложить следующий сценарий.

Пример сценария:

Если общий Диск только один, как насчет следующий пример сценария? При использовании включите Drive API в расширенных службах Google . В этом скрипте идентификатор диска и имя общего диска извлекаются с помощью метода «Диски: список» в Drive API.

var drive = Drive.Drives.list().items[0];
var rootFolder = DriveApp.getFolderById(drive.id);
console.log("Root Folder:", drive.name);

// When you want to retrieve the files, you can also use the following script.
var files = rootFolder.getFiles();
while (files.hasNext()) {
  console.log(files.next().getName())
}

Примечание:

  • С июня 1 января 2020 г. служба Диска, например DriveApp, должна иметь возможность использовать общий Диск. Но на данном этапе кажется, что все функции не могут быть использованы для общего Диска. Я считаю, что их можно будет решить в будущем обновлении.
  • Например, на текущем этапе, когда используется указанный выше сценарий, к сожалению, rootFolder.getName() не является именем общего диска. В моем окружении это Drive. Поэтому я использовал drive.name.

Ссылки:

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