【发布时间】:2015-03-29 15:24:16
【问题描述】:
如何仅授予当前电子表格用户对特定工作表的访问权限?我的想法是让工作表以用户电子邮件命名,并且只授予对与用户电子邮件同名的工作表的访问权限。
function protectSheets() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var email = Session.getActiveUser().getEmail();
var num_sheets = ss.getNumSheets();
for (var i = 0; i < num_sheets; i++){
//setting permission to each sheet
SpreadsheetApp.setActiveSheet(ss.getSheets()[i]);
var sheet = SpreadsheetApp.getActiveSheet();
var permissions = sheet.getSheetProtection();
permissions.setProtected(true);
sheet.setSheetProtection(permissions);
// hiding all sheets wich not allowed
if (ss.getSheets()[i] != email) {
sheet.hideSheet();
}
};
}
但问题是电子邮件在一个数组中。如何使用数组来匹配当前用户?有没有其他方法可以解决这个问题?
【问题讨论】:
标签: javascript arrays google-apps-script permissions google-sheets