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.
Non ci sono commenti
Nessuno ha ancora commentato questo articolo, fallo tu per primo!
scrivi un commento