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);
});
}