getFiles и getFolders всегда возвращают только один файл / папку - PullRequest
0 голосов
/ 08 января 2019

При попытке получить все файлы и папки с моего Google Диска, функция .getFiles() возвращает только один файл, а .getFolders() возвращает только одну папку. У меня на диске несколько папок и файлов.

Мой код:

function run() {
    try { 
        const folders = DriveApp.getFolders();
        const files = DriveApp.getFiles();

        while (folders.hasNext()) {
            const folder = folders.next();
            console.log(folder.getName())


            folder.setSharing(DriveApp.Access.PRIVATE, DriveApp.Permission.EDIT)
            if (folder.getSharingAccess() !== DriveApp.Access.PRIVATE)
              console.error("Permission was not changed, or changed incorrectly")
        }

        while (files.hasNext()) {
            const file = files.next();
            console.log(file.getName())
            file.setSharing(DriveApp.Access.PRIVATE, DriveApp.Permission.EDIT)
            if (file.getSharingAccess() !== DriveApp.Access.PRIVATE)
              console.error("Permission was not changed, or changed incorrectly")
        }
    } catch (err) { 
      console.error(err)
    }
}

Я ожидаю, что console.log(file.getName()) и console.log(folder.getName()) покажут информацию о разных файлах, но она всегда одна и та же:

Jan 8, 2019, 4:26:05 PM Debug TestFolder1NestedFolder1
Jan 8, 2019, 4:26:05 PM Debug TestFolder1NestedFolder1
Jan 8, 2019, 4:26:06 PM Debug TestFolder1NestedFolder1
Jan 8, 2019, 4:26:06 PM Debug TestFolder1NestedFolder1
Jan 8, 2019, 4:26:07 PM Debug TestFolder1NestedFolder1
Jan 8, 2019, 4:26:07 PM Debug TestFolder1NestedFolder1
Jan 8, 2019, 4:26:10 PM Debug Change Sharing to PRIVATE
Jan 8, 2019, 4:26:10 PM Debug Change Sharing to PRIVATE
Jan 8, 2019, 4:26:10 PM Debug Change Sharing to PRIVATE
Jan 8, 2019, 4:26:11 PM Debug Change Sharing to PRIVATE
Jan 8, 2019, 4:26:11 PM Debug Change Sharing to PRIVATE
Jan 8, 2019, 4:26:11 PM Debug Change Sharing to PRIVATE
Jan 8, 2019, 4:26:11 PM Debug Change Sharing to PRIVATE

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Попробуйте изменить console.log на Logger.log, чтобы просмотреть все журналы.

0 голосов
/ 08 января 2019

Использование имени клавиши const для назначения в этой ситуации не позволяет получить желаемый результат.

JavaScript const - Документация

Значение константы не может измениться путем переназначения, и оно не может быть повторно объявлено

НАСТОЯЩЕЕ:

const folder = folders.next();

ИЗМЕНИТЬ:

var folder = folders.next();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...