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

Exception: Operazione su Gmail non consentita.

Exception Gmail: operation not allowed.

Mi sono imbattutto in un errore di cui non sono riuscito a trovare documentazione efficace in rete.
Lo script in Google Apps Script che stavo realizzando prevedeva l'attivazione di un trigger nel Foglio Google all'invio del Form Google associato. Quello che prende il nome di onFormSubmit().

Non ho mai avuto problemi con questo passaggio di operazioni tuttavia stavolta mi sono trovato ad avere alcuni grattacapi poiché nonostante tutto fosse configurato correttamente ricevevo il seguente errore in esecuzione:

Exception: Operazione su Gmail non consentita.

in base alla configurazione della lingua dell'account Google potrebbe essere mostrato in questo modo:

Exception: Gmail operation not allowed.

Ho provato ad inviare l'email con due diversi metodi e servizi. Il primo è MailApp, con il quale tutto funzionava correttamente:

MailApp.sendEmail(email_ospite, email_oggetto, email_contenuto);

Tuttavia il sopracitato servizio non permette l'invio di un'email in formato HTML. Per questo motivo ho adottato il servizio specifico di Gmail chiamoato GmailApp:

GmailApp.sendEmail(email_ospite, email_oggetto, "", { htmlBody:email_contenuto });

Ed è proprio qui che ho rivevuto l'errorre in questione.

Tutti i miei tentativi di far funzionare il codice sono stati vani. Ho provato ad attivare il servizio avanzato, ad utilizzare altre forme di invio messaggi con il servizio GmailApp, ecc... ma niente da fare.

Sono riuscito finalmente a capire da cosa dipendeva questa incongruenza, la soluzione è tanto banale quanto non intuitiva poiché lato codice non c'era niente di sbagliato.
Un account Google utilizza i propri sistemi: Google Drive, Google Sheets, Google Analytics, YouTube, ecc... tra questi anche Gmail. Tuttavia, è possibile creare un account Google con un indirizzo di posta che non sia @gmail.com, ovvero se disponi ad esempio di un account @libero.it o di un account aziendale, puoi mantenere la posta sull'attuale servizio e creare un account Google che ha tutti gli altri servizi collegati ad eccezione di Gmail.

Ebbene, il problema era proprio questo, l'account sul quale stavo cercando di invocare il servizio GmailApp di Google Apps Script, non fa uso di Gmail poiché la relativa posta era gestita da un altro provider :)

Un altro errore che può verificarsi in circostanze simili è il seguente: GoogleJsonResponseException: Chiamata API a gmail.users.messages.send non riuscita con errore: Precondition check failed.

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