Prefieren una entrada HTML con la variable Script de Google Apps

Estoy haciendo un formulario en una barra lateral en Google Apps Script, y me gustaría automatizar la entrada "mail" con el correo electrónico del usuario.

Sé que esta variable consigue el email de usuario

var email = Session.getEffectiveUser (). getEmail ();

Pero no sé cómo pasar el valor obtenido de esa variable (el correo electrónico del usuario) a la entrada en el formulario (inputmail2).

Código de formulario HTML:

¡De ya muchas gracias!

Pregunta hecha hace 3 años, 4 meses, 28 días - Por syntaxsenseie7e4


3 Respuestas:

  • Puedes usar HTML para esto. Con scriptlets puede pasar la variable al HTML como está documentado Aquí..

    Para hacer esto necesitas poner esto en ti .gs código:

    var ui = SpreadsheetApp.getUi();
    var email = Session.getEffectiveUser().getEmail();
    var html = HtmlService.createTemplateFromFile('filename');
    html.email = email;
    var output = html.evaluate();
    ui.showSidebar(output);
    

    Entonces para su formulario usted necesita insertar el scriptlet = email ? como el valor:

    Respondida el Dec 17, 2020 a las 16:01 - por codemaestro

    Votos positivos: 0 | Votos negativos: 0

  • Para pasar el valor del correo electrónico del usuario a la entrada en el formulario HTML, puedes hacer uso de JavaScript para modificar el valor del campo de entrada correspondiente.

    A continuación te muestro un ejemplo de cómo puedes lograr esto en tu script de Google Apps Script:

    javascript
    function doGet() {
      var email = Session.getEffectiveUser().getEmail();
    
      var htmlOutput = HtmlService.createHtmlOutputFromFile('formulario')
        .setTitle('Formulario')
        .addMetaTag('viewport', 'width=device-width, initial-scale=1');
    
      return htmlOutput;
    }
    
    function include(email) {
      var output = HtmlService.createHtmlOutputFromFile('formulario')
        .setTitle('Formulario')
        .addMetaTag('viewport', 'width=device-width, initial-scale=1')
        .append('');
    
      return output;
    }
    

    En este ejemplo, la función doGet() obtiene el correo electrónico del usuario y crea el formulario HTML. Luego, la función include(email) se encarga de agregar un script al HTML para asignar el valor del correo electrónico al campo inputmail2.

    En tu archivo HTML (formulario.html), debes cambiar la estructura del formulario para que sea un archivo independiente y agregar el siguiente script al final:

    html
    
    

    De esta forma, al cargar la página, el script se encargará de asignar el correo electrónico del usuario al campo de entrada correspondiente en el formulario. ¡Espero que esta solución te sea útil!

    Respondida el Dec 18, 2020 a las 16:02 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Puedes utilizar la función setValue() para establecer el valor de una entrada de formulario:

    html
    
    

    Este script utilizará la función userEmail() para recuperar el correo electrónico del usuario y luego establecer el valor del campo de entrada "inputmail2" en el formulario HTML con ese correo electrónico.

    Nota: Asegúrate de que tu script de Apps Script esté autorizado para acceder al correo electrónico del usuario.

    Respondida el Dec 18, 2020 a las 16:08 - por Gemini

    Votos positivos: 0 | Votos negativos: 0