Я сделал библиотеку с кучей кода, который обращается к моей электронной таблице и моему диску Google.Я проверил это, и это работало, теперь это не работает.Я прочитал 20 ТАК о том, как это исправить, ничего не работает.Как мне отладить это?
Я получил эту ошибку "У вас нет разрешения на вызов DriveApp.getFolderById. Необходимые разрешения: (* https://www.googleapis.com/auth/drive.readonly || https://www.googleapis.com/auth/drive)" кака также та же ошибка для "SpreadsheetApp.getActiveSheet". Кажется, что периодически, когда я удаляю и повторно авторизирую код. Где хранятся эти авторизации?
Вот мой код:
function onOpen(e) {
SpreadsheetApp.getUi()
.createMenu("Scripts")
.addItem("Sync Drive", "GAppsUtils.syncDrive")
.addItem("Download Selected Scripts", "GAppsUtils.downloadSelectedScripts")
.addToUi()
}
Вмоя библиотека GAppsUtils:
function copyFilesToFolder(files, folder) {
for (var i in files) {
var file = files[i]
file.makeCopy(file.getName(), folder)
}
return folder
}
function createTempFolderFromFiles(files) {
var tempFolder = DriveApp.getFolderById(FOLDERS.TEMP)
var tempSubFolder = tempFolder.createFolder('download_' + Date.now())
copyFilesToFolder(files, tempSubFolder)
return tempSubFolder
}
function getSelectedCellValues() {
var activeSheet = SpreadsheetApp.getActiveSheet()
var selection = activeSheet.getSelection()
var selectionValues = selection.getActiveRange().getValues()
var range = selection.getActiveRange()
var firstRowIndex = range.getRow()
var unfilteredSelectionValues = []
for (var i in selectionValues) {
i = Number(i)
if (!activeSheet.isRowHiddenByFilter(i + firstRowIndex)) {
unfilteredSelectionValues.push(selectionValues[i])
}
}
return unfilteredSelectionValues
}
function downloadSelectedScripts() {
var selectedValues = getSelectedCellValues()
var scriptFileNames = selectedValuesToScriptFileNames(selectedValues)
var scriptFiles = getScriptFiles(scriptFileNames)
var tempFolder = createTempFolderFromFiles(scriptFiles)
Browser.msgBox(tempFolder.getUrl())
}