Comment modifier cette publication existante de script et / ou d'étapes pour qu'elle fonctionne pour vider automatiquement la corbeille Gmail?

Nov 25 2020

J'ai trouvé ce post sur la façon de faire ce qui précède mais cela ne semble pas fonctionner?

Voici le message d'erreur

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)

Aller à https://script.google.com

Ensuite, créez un nouveau projet et collez-y le ci-dessous:

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 vous essayez d'exécuter le script tel quel, une erreur se produira.

Ensuite, vous cliquez sur Ressources et accédez aux Services Google avancés.

Faites défiler jusqu'à l'API Gmail et activez-la.

Cliquez ensuite sur le lien Google Cloud Platform dans la même fenêtre que celle où vous avez activé l'API Gmail.

Cliquez ensuite sur Activer les services et l'API et recherchez Gmail. Cliquez sur Gmail puis activez-le.

Revenez ensuite à votre écran de script et cliquez sur le menu Modifier et allez aux déclencheurs du projet en cours.

Définissez un déclencheur pour exécuter le script toutes les minutes / heures ou quel que soit l'intervalle de temps que vous souhaitez que le script exécute et vide votre corbeille.

Gardez à l'esprit que vous pouvez supprimer de IN: TRASH IN: SPAM ou tout autre libellé de votre choix. Il ne supprimera pas les rappels et la suppression est définitive. Vous ne pouvez récupérer aucun des e-mails.

Réponses

1 Rubén Nov 26 2020 at 05:16

Attention

Le code de la réponse référée supprime définitivement les messages de la corbeille de Gmail. Nous ne devons pas copier et exécuter du code que nous ne comprenons pas.


Il est très probable que le message d'erreur référencé se soit produit car la ligne de code suivante n'a pas été modifiée:

var mymail = "[email protected]";

Remplacer "[email protected]"parSession.getActiveUser().getEmail()

Ressource

  • https://developers.google.com/apps-script/reference/base/session#getActiveUser()

Le contenu original de la réponse référée était obsolète. Il a été édité par moi il y a quelques instants.