JavaScript, HTML, CSS e... !
0 commenti

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 #0007Inviare nel corpo di una email il contenuto testuale di un Google Docs.

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

scrivi un commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]https://www.appsscript.it[/url] se devi riferirti ad un indirizzo web