¿Cómo modificar esta publicación existente de secuencia de comandos y / o pasos para que funcione para vaciar automáticamente la Papelera de Gmail?
Encontré esta publicación sobre cómo hacer lo anterior, pero parece que no funciona.
Aquí está el mensaje de error
Nov 25, 2020, 3:52:51 PM Error GoogleJsonResponseException: API call to gmail.users.threads.delete failed with error: Delegation denied for [email protected]
at [unknown function](Code:29:33)
at removeMyTest2(Code:23:28)
Ir https://script.google.com
Luego crea un nuevo proyecto y pega el siguiente en él:
function removeMyTest2() { var mymail = "[email protected]"; var mylabel = "trash"; var permanentlyRemoveMyLabel = true; var pageToken; do { var threadList = Gmail.Users.Threads.list('me', { q: 'in:' + mylabel, pageToken: pageToken }); if (threadList.threads && threadList.threads.length > 0) { threadList.threads.forEach(function(thread) { Logger.log('id: %s snippet: %s', thread.id, thread.snippet); if (permanentlyRemoveMyLabel) { Gmail.Users.Threads.remove(mymail, thread.id); Logger.log('id: %s snippet: %s REMOVED', thread.id, thread.snippet); } }); } pageToken = threadList.nextPageToken; } while (pageToken); }Si intenta ejecutar el script tal como está, se producirá un error.
A continuación, haga clic en Recursos y vaya a Servicios avanzados de Google.
Desplácese hacia abajo hasta la API de Gmail y enciéndalo.
Luego, haga clic en Google Cloud Platform Link en la misma ventana que apareció donde habilitó la API de Gmail.
Luego haga clic en Habilitar servicios y API y busque Gmail. Haga clic en Gmail y luego habilítelo.
Luego regrese a la pantalla de su secuencia de comandos y haga clic en el menú Editar y vaya a Activadores del proyecto actual.
Configure un activador para ejecutar el script cada minuto / hora o cualquier intervalo de tiempo que desee que se ejecute y vacíe la papelera.
Tenga en cuenta que puede eliminar de IN: TRASH IN: SPAM o cualquier otra etiqueta que desee. No eliminará los recordatorios y la eliminación es definitiva. No puede recuperar ninguno de los correos electrónicos.
Respuestas
Advertencia
El código de la respuesta referida elimina permanentemente los mensajes de la Papelera de Gmail. No debemos copiar y ejecutar código que no entendamos.
Es muy probable que el mensaje de error mencionado se haya producido porque no se editó la siguiente línea de código:
var mymail = "[email protected]";
Reemplazar "[email protected]"porSession.getActiveUser().getEmail()
Recurso
- https://developers.google.com/apps-script/reference/base/session#getActiveUser()
El contenido original de la respuesta referida estaba obsoleto. Lo edité hace unos momentos.