Como modificar esta postagem existente de script e / ou etapas para que funcione para esvaziar automaticamente a Lixeira do Gmail?
Eu encontrei este post sobre como fazer o acima, mas não parece funcionar?
Aqui está a mensagem de erro
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)
Vamos para https://script.google.com
Em seguida, crie um novo projeto e cole o seguinte nele:
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); }
Se você tentar e executar o script como está, ocorrerá um erro.
Em seguida, clique em Recursos e vá para Serviços avançados do Google.
Role para baixo até Gmail API e ative-o.
Em seguida, clique no link Google Cloud Platform na mesma janela que apareceu onde você ativou a API do Gmail.
Em seguida, clique em Ativar serviços e API e pesquise por Gmail. Clique em Gmail e ative-o.
Em seguida, volte para a tela do script e clique no menu Editar e vá até os gatilhos do projeto atual.
Defina um gatilho para executar o script a cada minuto / hora ou em qualquer intervalo de tempo em que deseja que o script execute e esvazie a lixeira.
Lembre-se de que você pode excluir de IN: TRASH IN: SPAM ou de qualquer outro rótulo que desejar. Isso não excluirá lembretes e a exclusão é final. Você não pode recuperar nenhum dos e-mails.
Respostas
Atenção
O código da referida resposta apaga permanentemente as mensagens da lixeira do Gmail. Não devemos copiar e executar código que não entendemos.
É muito provável que a mensagem de erro referida tenha ocorrido porque a seguinte linha de código não foi editada:
var mymail = "[email protected]";
Substituir "[email protected]"
porSession.getActiveUser().getEmail()
Recurso
- https://developers.google.com/apps-script/reference/base/session#getActiveUser()
O conteúdo original da referida resposta era obsoleto. Foi editado por mim há alguns momentos.