Es ist möglich, mit normalen gmail Konten, mit diesem Problem zu umgehen!
Ich verwende einige Schutzfunktionen, die den Benutzer und den Besitzer des Dokuments erkennen, und ich speichern es in den Eigenschaften für eine bessere Leistung. Viel Spass damit!
function onEdit(e) {
SpreadsheetApp.getUi().alert("User Email is " + getUserEmail());
}
function getUserEmail() {
var userEmail = PropertiesService.getUserProperties().getProperty("userEmail");
if(!userEmail) {
var protection = SpreadsheetApp.getActive().getRange("A1").protect();
// tric: the owner and user can not be removed
protection.removeEditors(protection.getEditors());
var editors = protection.getEditors();
if(editors.length === 2) {
var owner = SpreadsheetApp.getActive().getOwner();
editors.splice(editors.indexOf(owner),1); // remove owner, take the user
}
userEmail = editors[0];
protection.remove();
// saving for better performance next run
PropertiesService.getUserProperties().setProperty("userEmail",userEmail);
}
return userEmail;
}
Ist dies in einer Domäne oder einem öffentlichen Skript? –
Wenn Sie ein "normales" Google Mail-Konto verwenden, ist es nicht möglich, die E-Mail-Adresse des Benutzers zu erhalten, wenn er auf die Tabelle zugreift. In Business-oder Bildungs-Version können Sie. –
@Sergeinsas oh, das wusste ich nicht. Das ist Scheiße. Aber danke für Infos. Habe es getestet und du hast Recht. – Wlad