Google apps script 是否仍然可以为匿名用户提供UserProperties?

Google apps script 是否仍然可以为匿名用户提供UserProperties?,google-apps-script,Google Apps Script,如果不请求不必要的权限,我似乎无法保存用户输入 我正在google apps脚本上开发一个简单的web应用程序,该程序在用户登录图书馆时收集用户名,将其放入特定的电子表格中,并在下次登录时记住该用户名。当我以我自己的身份发布时,它工作得很好,甚至让匿名的人也有机会查看我的个人电子表格,但是记住的名称在所有用户之间共享,因为它设置为以我的身份启动。当我以普通用户的身份访问网页时,它对已经授予应用程序访问权限的我来说很有用,但它显示了很多错误,并告诉用户我需要访问他们的电子表格,而我确实不需要 这是

如果不请求不必要的权限,我似乎无法保存用户输入

我正在google apps脚本上开发一个简单的web应用程序,该程序在用户登录图书馆时收集用户名,将其放入特定的电子表格中,并在下次登录时记住该用户名。当我以我自己的身份发布时,它工作得很好,甚至让匿名的人也有机会查看我的个人电子表格,但是记住的名称在所有用户之间共享,因为它设置为以我的身份启动。当我以普通用户的身份访问网页时,它对已经授予应用程序访问权限的我来说很有用,但它显示了很多错误,并告诉用户我需要访问他们的电子表格,而我确实不需要

这是我收集和发布信息的两个主要功能

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

}
函数登录(名称、id、用途){
var cache=CacheService.getUserCache();
var d=新日期();
var日期=实用程序。格式日期(d,“GMT-4”,“LLLL dd,yyyy”)
var时间=实用程序。格式日期(d,“GMT-4”,“hh:mm aaa”)
cache.removeAll([“登录状态]);
cache.put(“登录状态”,name+“|”+id+“|”+“inLib”,31536000);
var blob=name+“|”+id+“|”+目的+“|”+日期+“|”+时间;
记录(“登录”,blob);
Logger.log(d);
}
功能记录(命令、信息){
var ss=SpreadsheetApp.openByUrl(“myspreadsheetid”);
var sheet=ss.getSheets()[0];
var data=sheet.getDataRange().getValues();
var sheetInfo=info.split(“|”);
变量id=sheetInfo[1];
如果(命令==“登录”){
sheet.appendRow(sheetInfo);
}
如果(命令==“注销”){

对于(var i=0;我是否考虑过使用替代缓存服务?我相信它更符合您的目标。您可以查看“您可以尝试并将此值存储在
UserProperties
下”,但请记住,此键每30天旋转一次,并且是脚本所独有的。@AMolina,我已经尝试过了,b但是,由于用户相同,每个人都有相同属性的问题仍然存在。@SourabhChoraria我会调查一下,谢谢你考虑过使用缓存服务而不是缓存服务吗?我相信它更符合你想要实现的目标。你可以看看你可以尝试在
UserPropert下存储此值的方法ies
但请记住,此键每30天旋转一次,并且是脚本所独有的。@AMolina,我已经尝试过了,但由于用户相同,每个人都有相同属性的问题仍然存在。@SourabhChoraria我将研究它,谢谢