Mon script prend 35 noms d'élèves de la feuille 'Studenti'. Puis trouve le bon dossier avec son nom (c.-à-d. «Smith Peter»), enlève le vieux document pdf avec de vieux grades tenant leur nom (c.-à-d. «Smith Peter.pdf») et sauvegarde dans le dossier un nouveau pdf document avec de nouvelles notes («Smith Peter.pdf»). Et va prendre un autre étudiant de la liste. Le problème: après 1,2 ou 3 itérations, le script arrête de dire: Accès refusé: DriveApp. (ligne 22, fichier "Code": files.next(). setTrashed (true);). Il y a une semaine, le script fonctionnait sans problèmes, j'ai essayé de changer les noms, les dossiers, les destinations, les sources et les conseils vérifiés ici. Mais pas de succès. Je ne sais pas quel est le problème avec la ligne 22. S'il vous plaît, aidez!Student Gradebook. Impossible de terminer le script à cause de "Accès refusé: DriveApp"
Le code est joint
Execution transcript (spectacles où le script a arrêté)
function generatePdf() {
var report = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // Gradebook ready to save as pdf
var zasobnik = SpreadsheetApp.openById('1eygLDH0iJoXfcVOMIin0hnKpMF59HszmXZosPKvwYWc');
var zasobsheet = zasobnik.getSheetByName("Studenti"); // list of 35 students with names, Folder IDs
var data = zasobsheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++){
report.getRange('B2').setValue(data[i][0]); // setting student's name in a gradebook (first column)
report.getRange('B3').setValue(' '); // just to jump from B2 to B3
var pdf = DriveApp.getFileById('1WHwm7xK28Orj22RxaKWEsCl3UWvWxYUhRg4ZGf87-GQ'); // ID of Gradebook (IF of ActiveSpreadsheet)
var theBlob = pdf.getBlob().getAs('application/pdf').setName(data[i][0] + ".pdf");
var folder = DriveApp.getFolderById(data[i][2]); // third column
var files = DriveApp.getFilesByName(data[i][0] + ".pdf"); // pdf with old grades
while (files.hasNext()) {
files.next().setTrashed(true);
}
var newFile = folder.createFile(theBlob); // creating pdf with new grades in the student's folder
}
}