DriveApp.getFolders () Исключение: Требуемые разрешения: https://www.googleapis.com/auth/drive - PullRequest
0 голосов
/ 10 января 2019

Я хочу отменить доступ к папкам и файлам с диска Google на основе электронной почты из электронной таблицы. Но что-то идет не так при получении папок / файлов.

Ошибка:

Исключение: у вас нет разрешения на вызов DriveApp.getFolders. Требуемые разрешения: https://www.googleapis.com/auth/drive

Я пытался добавить области:

scopesFile = {

    "oauthScopes": [
        "https://www.googleapis.com/auth/drive.file",
        "https://www.googleapis.com/auth/drive",
        "https://www.googleapis.com/auth/spreadsheets"
    ]

}

Но даже это не помогло ... Можно ли заставить скрипт выполнить повторную авторизацию?

function revokeGoogleDriveAccess(email, ui){
    const folders = DriveApp.getFolders();
    const files = DriveApp.getFiles();

    while(folders.hasNext()){
        var folder = folders.next();

        folder.revokePermissions(email);
    }

    while(files.hasNext()){
        var file = files.next();

        file.revokePermissions(email);
    }
}


function onEdits(e) {
    var ui = SpreadsheetApp.getUi();
    var ss = SpreadsheetApp.getActiveSpreadsheet();

    var email = ss.getRange("J" + rowLineNumber).getValue();

    revokeGoogleDriveAccess(email, ui); // <-- Google Drive Permissions Are Revoked Here. 
}

Я ожидаю, что это аннулирует доступ, но вместо этого я останавливаюсь на DriveApp.getFolders() / DriveApp.getFiles()

...