Кажется, я не могу сохранить пользовательский ввод без запроса ненужных разрешений
Я работаю над простым веб-приложением на основе скрипта приложений Google, который собирает имя пользователя при его регистрации в библиотеке,помещает их в определенную таблицу и запоминает это имя при следующем входе в систему. Когда я публикуюсь как я, он работает нормально и дает даже анонимным людям возможность проверить мою личную электронную таблицу, однако запоминаемое имя разделяется между всеми пользователями, потому что оно настроено для запуска от имени меня. Когда я публикуюсь как обычный пользователь, посещающий веб-страницу, это работает для меня, который уже предоставил доступ к приложению, но показывает много ошибок и говорит пользователям, что мне нужен доступ к их электронным таблицам, когда я на самом деле этого не делаю.
Это две мои основные функции для сбора и публикации информации
function login(name, id, purpose) {
var cache = CacheService.getUserCache();
var d = new Date();
var date = Utilities.formatDate(d, "GMT-4", "LLLL dd, yyyy")
var time = Utilities.formatDate(d, "GMT-4", "hh:mm aaa")
cache.removeAll(["login status"]);
cache.put("login status", name + "|" + id + "|" + "inLib", 31536000);
var blob = name + " | " + id + " | " + purpose + " | " + date + " | "+ time;
record("sign_in", blob);
Logger.log(d);
}
function record(command, info) {
var ss = SpreadsheetApp.openByUrl("#myspreadsheetid");
var sheet = ss.getSheets()[0];
var data = sheet.getDataRange().getValues();
var sheetInfo = info.split(" | ");
var id = sheetInfo[1];
if (command == "sign_in") {
sheet.appendRow(sheetInfo);
}
if (command == "sign_out") {
for(var i = 0; i<data.length;i++){
Logger.log(data[i][1]);
Logger.log(id);
if(data[i][1] == id){
sheet.getRange("F"+(i+1).toString()).setValue(sheetInfo[3]);
}
}
}
return sheet
}
Я ожидал, что кэши будут разными для каждого пользователя без запроса доступа к дополнительным листам, но это не так