Wie kann dieser vorhandene Skriptbeitrag und / oder die vorhandenen Schritte so geändert werden, dass der Google Mail-Papierkorb automatisch geleert wird?

Nov 25 2020

Ich habe diesen Beitrag darüber gefunden, wie man das oben macht, aber es scheint nicht zu funktionieren?

Hier ist die Fehlermeldung

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)

Gehe zu https://script.google.com

Erstellen Sie dann ein neues Projekt und fügen Sie Folgendes ein:

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);

}

Wenn Sie versuchen, das Skript so auszuführen, wie es ist, tritt ein Fehler auf.

Als nächstes klicken Sie auf Ressourcen und gehen zu Erweiterte Google-Dienste.

Scrollen Sie nach unten zur Google Mail-API und aktivieren Sie diese.

Klicken Sie anschließend in demselben Fenster auf Google Cloud Platform Link, in dem Sie die Google Mail-API aktiviert haben.

Klicken Sie dann auf Dienste und API aktivieren und suchen Sie nach Google Mail. Klicken Sie auf Google Mail und aktivieren Sie es.

Kehren Sie dann zu Ihrem Skriptbildschirm zurück, klicken Sie auf das Menü Bearbeiten und gehen Sie zu den Triggern des aktuellen Projekts.

Setzen Sie einen Auslöser, um das Skript entweder jede Minute / Stunde oder in jedem Zeitintervall auszuführen, in dem das Skript ausgeführt werden soll, und leeren Sie Ihren Papierkorb.

Denken Sie daran, dass Sie aus IN: TRASH IN: SPAM oder einem anderen gewünschten Label löschen können. Erinnerungen werden nicht gelöscht und das Löschen ist endgültig. Sie können keine der E-Mails wiederherstellen.

Antworten

1 Rubén Nov 26 2020 at 05:16

Warnung

Der Code aus der angegebenen Antwort löscht die Nachrichten aus dem Google Mail-Papierkorb dauerhaft. Wir sollten keinen Code kopieren und ausführen, den wir nicht verstehen.


Es ist sehr wahrscheinlich, dass die angegebene Fehlermeldung aufgetreten ist, weil die folgende Codezeile nicht bearbeitet wurde:

var mymail = "[email protected]";

Ersetzen "[email protected]"durchSession.getActiveUser().getEmail()

Ressource

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

Der ursprüngliche Inhalt der genannten Antwort war veraltet. Es wurde vor wenigen Augenblicken von mir bearbeitet.