Pillola di Apps Script #0010
Invio del contenuto di un Google Docs come HTML nel corpo di una email
Pillola di Apps Script #0010
Nome: Invio del contenuto di un Google Docs come HTML nel corpo di una email
Descrizione: Utilizzando la seguente funzione in Google Apps Script è possibile recuperare in formato HTML il corpo di un Documento di Google per inviarlo via email. Con lo script proposto verranno inviate anche le immagini contenute nel documento e verrà mantenuta la formattazione originale: formato del carattere (come ad esempio la dimensione o il colore) così come il formato della tabella (bordi, colore di sfondo, ecc...). È necessario, dall'editor di script, abilitare le Gmail API tra i Servizi Avanzati di Google.
Stato di verifica: VERIFICATO
Ambito di utilizzo: Google Docs, Gmail
Segnalatore: Michele Pisani (da stackoverflow)
Codice:
function sendGoogleDocAsHTML() {
var docId = "GOOGLE_DOCUMENT_ID"; // Id del Google Docs
var url = "https://docs.google.com/document/d/" + docId + "/export?format=html"
var param = {
method : "get",
headers : { "Authorization": "Bearer " + ScriptApp.getOAuthToken() },
muteHttpExceptions:true,
};
var html = UrlFetchApp.fetch(url, param);
var raw = Utilities.base64EncodeWebSafe("Subject: Test\r\n" +
"To: destinatario@gmail.com\r\n" +
"Content-Type: text/html; charset=UTF-8\r\n\r\n" +
html+"\r\n\r\n");
var message = Gmail.newMessage();
message.raw = raw;
var sentMsg = Gmail.Users.Messages.send(message, 'me');
}
Aggiungere il seguente costrutto al file Manifest:
"oauthScopes": [
"https://www.googleapis.com/auth/script.external_request",
"https://www.googleapis.com/auth/drive.readonly",
"https://www.googleapis.com/auth/gmail.send"
]
Nota: se è sufficiente inviare il contenuto testale di un Google Docs senza considerare immagini e formati è possibile utilizzare una funzione semplificata descritta nella Pillola #0007: Inviare nel corpo di una email il contenuto testuale di un Google Docs.
Non ci sono commenti
Nessuno ha ancora commentato questo articolo, fallo tu per primo!
scrivi un commento