Códigos distribuidor cartones de bingo en PDF por medio de correo usando AppSheets

0

 Script EnviarCorreo Adjuntando PDF

/**
 * Obtener el archivo PDF desde Google Drive usando el Field ID
 */
function obtenerPDFDesdeDrive(fileId) {
  try {
    var file = DriveApp.getFileById(fileId);
    return file.getAs('application/pdf');
  } catch (e) {
    Logger.log("❌ Error al obtener el PDF: " + e.toString());
    return null;
  }
}
function enviarCorreo(correoDestinatario, asunto, cuerpoCorreo, fieldId){
  // Enviar el correo electrónico
  var pdfBlob = obtenerPDFDesdeDrive(fieldId);
  MailApp.sendEmail({
    to: correoDestinatario,
    subject: asunto,
    htmlBody: cuerpoCorreo,
    attachments: [pdfBlob]
  });

  // Mostrar cuota diaria
  Logger.log(MailApp.getRemainingDailyQuota())
}

********************************************************************************************

ENVIAR CORREO ADJUNTANDO IMAGEN

*********************************************************************************************

function enviarCorreoConImagen(correoDestinatario, asunto, cuerpoCorreo, fileId) {
  // Obtener la imagen desde Drive
  var imagenBlob = obtenerImagenDesdeDrive(fileId);
 
  if (!imagenBlob) {
    Logger.log("❌ No se pudo adjuntar la imagen.");
    return;
  }

  // Enviar el correo electrónico con la imagen adjunta
  MailApp.sendEmail({
    to: correoDestinatario,
    subject: asunto,
    htmlBody: cuerpoCorreo,
    attachments: [imagenBlob]
  });

  // Mostrar cuota diaria restante
  Logger.log(MailApp.getRemainingDailyQuota());
}

function obtenerImagenDesdeDrive(fileId) {
  try {
    var file = DriveApp.getFileById(fileId);
    var mimeType = file.getMimeType();
   
    // Verificar si el archivo es una imagen
    if (!mimeType.startsWith("image/")) {
      Logger.log("❌ El archivo no es una imagen.");
      return null;
    }
   
    return file.getBlob();
  } catch (e) {
    Logger.log("❌ Error al obtener la imagen: " + e.toString());
    return null;
  }
}



********************************************************************************************

OBTENER FIELD ID

*********************************************************************************************
function listarCartonesEnCarpeta() {
  // ID de la carpeta de Google Drive
  const folderId = "Aquí reemplaza tu ID de la carpeta contenedora"; // Reemplaza con el ID de tu carpeta
  const folder = DriveApp.getFolderById(folderId);
 
  // Obtén los archivos de la carpeta
  const files = folder.getFiles();
  const hoja = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 
  // Encabezados
  hoja.clear(); // Limpia la hoja actual
  hoja.appendRow(["ID_Carton", "Nombre", "FileId", "URL"]);

  while (files.hasNext()) {
    const file = files.next();
    const fileId = file.getId();
    const nombre = file.getName();
    const url = `https://drive.google.com/uc?export=view&id=${fileId}`;
    const uniqueId = generarUUID(); // Genera un ID único
   
    // Agrega datos a la hoja
    hoja.appendRow([uniqueId, nombre, fileId, url]);
  }
 
  SpreadsheetApp.flush();
  Logger.log("Cartones listados correctamente.");
}

// Función para generar UUID
function generarUUID() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    const r = Math.random() * 16 | 0;
    const v = c === 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}


Video explicativo sobre enviar correo con AppSheet adjuntando PDF




Video explicativo sobre enviar correo con AppSheet adjuntando imagen





No hay comentarios