Debug a Google Sheet Script - error: Access denied: DriveApp
Budget: $10 – $30 AUD
I have a script in a Google Sheet where I'm getting an exception error: Access denied: DriveApp.
There is an Archive function were projects in a Master List are updated. However, when I Archive Completed Projects I get an error: Access denied: DriveApp.
I need someone to debug the code and/or otherwise tell me how to fix the issue.
The particular piece of code is:
function archive(){
var spreadsheet = SpreadsheetApp.getActive();
var topSheet = spreadsheet.getSheetByName("Active Projects")
var archiveSheet = spreadsheet.getSheetByName("Completed Projects");
var archiveCurrRow = archiveSheet.getLastRow()+1;
var topSheetRows = topSheet.getLastRow();
//var sheetFolder = findFolder(targetFolderId,targetFolderName)
var archiveFolder = findFolder(archivedProjectsFolderId,archivedProjectsFolderName)
var values = topSheet.getRange(2,10,topSheetRows,1).getValues()
var j=2;
for(var i = 0 ; i < values.length ; i ++){
var value = values[i][0];
if (value == ""){break;}
var rowValueA = topSheet.getRange(j,1,1,11).getValues();
var rowValue = rowValueA[0]
if(rowValue[5] == "Completed"){
var projectId = getIdFromUrl(value.replace("regroupsolutions",""));
Logger.log(projectId)
var projectFile = null;
try{
projectFile = DriveApp.getFileById(projectId);
}catch(e){}
//var projectFile = DriveApp.getFileById(projectId)
if(projectFile != null){
archiveFolder.addFile(projectFile)
//sheetFolder.removeFile(projectFile)
var formulas = topSheet.getRange(j,1,1,9).getFormulasR1C1();
archiveSheet.getRange(archiveCurrRow,1,1,9).setFormulasR1C1(formulas);
archiveSheet.getRange(archiveCurrRow,10).setValue(rowValue[9])
topSheet.getRange(j,11).clearContent()
topSheet.getRange(j,10).clearContent()
archiveCurrRow = archiveCurrRow +1;
}
}
j += 1;
}
topSheet.sort(5)
}
There is an Archive function were projects in a Master List are updated. However, when I Archive Completed Projects I get an error: Access denied: DriveApp.
I need someone to debug the code and/or otherwise tell me how to fix the issue.
The particular piece of code is:
function archive(){
var spreadsheet = SpreadsheetApp.getActive();
var topSheet = spreadsheet.getSheetByName("Active Projects")
var archiveSheet = spreadsheet.getSheetByName("Completed Projects");
var archiveCurrRow = archiveSheet.getLastRow()+1;
var topSheetRows = topSheet.getLastRow();
//var sheetFolder = findFolder(targetFolderId,targetFolderName)
var archiveFolder = findFolder(archivedProjectsFolderId,archivedProjectsFolderName)
var values = topSheet.getRange(2,10,topSheetRows,1).getValues()
var j=2;
for(var i = 0 ; i < values.length ; i ++){
var value = values[i][0];
if (value == ""){break;}
var rowValueA = topSheet.getRange(j,1,1,11).getValues();
var rowValue = rowValueA[0]
if(rowValue[5] == "Completed"){
var projectId = getIdFromUrl(value.replace("regroupsolutions",""));
Logger.log(projectId)
var projectFile = null;
try{
projectFile = DriveApp.getFileById(projectId);
}catch(e){}
//var projectFile = DriveApp.getFileById(projectId)
if(projectFile != null){
archiveFolder.addFile(projectFile)
//sheetFolder.removeFile(projectFile)
var formulas = topSheet.getRange(j,1,1,9).getFormulasR1C1();
archiveSheet.getRange(archiveCurrRow,1,1,9).setFormulasR1C1(formulas);
archiveSheet.getRange(archiveCurrRow,10).setValue(rowValue[9])
topSheet.getRange(j,11).clearContent()
topSheet.getRange(j,10).clearContent()
archiveCurrRow = archiveCurrRow +1;
}
}
j += 1;
}
topSheet.sort(5)
}