Estoy escribiendo una secuencia de comandos de aprobación en Google Apps Script para GSheets que permite a los usuarios seleccionar su nombre de una lista desplegable en una celda, luego, si el nombre coincide con la cuenta actualmente activa, se ejecutará otra función para bloquear la fila, etc. Todo es funciona perfectamente en mi cuenta de gmail, pero cuando el cliente intenta ejecutar el script con una cuenta administrada por google pero con un dominio que no es de gmail, la verificación de la dirección de correo electrónico falla. Estoy esperando que el cliente me envíe la información de registro ya que no tengo permisos para acceder a ella en su archivo, pero quería ver si alguien más se había encontrado con este problema.
En el código de ejemplo con la empresa y el nombre de usuario modificados, el código NO funciona, pero si configuro atDomainString en "@gmail.com" y el nombre en mi dirección de Gmail y lo ejecuto en mi cuenta, funciona.
const atDomainString = "@redactedcompany.com"; const name = "JSmith"; function userMatchesSignature(name) { let user = Session.getEffectiveUser().toString().toLowerCase(); let signUser = (name + atDomainString).toLowerCase(); Logger.log("User: <"+user + "> vs <" + signUser +">"); return user === signUser; }Intente tomar su mensaje de error para confirmar lo que está pasando. Pero lo más probable es que estén bloqueando el acceso a la identificación del cliente. Dado que los scripts que intentan acceder a los datos del usuario pueden estar bloqueados.
Según los alcances que esté usando en su proyecto, es posible que deban verificar la aplicación https://support.google.com/cloud/answer/7454865