Jak zmodyfikować ten istniejący wpis skryptu i / lub kroków, aby działał automatycznie opróżniając Kosz Gmaila?

Nov 25 2020

Znalazłem ten post, jak to zrobić, ale wygląda na to, że nie działa?

Oto komunikat o błędzie

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)

Iść do https://script.google.com

Następnie utwórz nowy projekt i wklej do niego poniższe:

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

}

Jeśli spróbujesz uruchomić skrypt tak, jak jest, wystąpi błąd.

Następnie kliknij Zasoby i przejdź do Zaawansowane usługi Google.

Przewiń w dół do Gmail API i włącz go.

Następnie kliknij łącze Google Cloud Platform w tym samym oknie, które pojawiło się, w którym włączono interfejs Gmail API.

Następnie kliknij Włącz usługi i interfejs API i wyszukaj Gmaila. Kliknij Gmail, a następnie włącz go.

Następnie wróć do ekranu skryptu i kliknij menu Edytuj i przejdź do Wyzwalacze bieżącego projektu.

Ustaw wyzwalacz, aby uruchamiać skrypt co minutę / godzinę lub w dowolnym przedziale czasowym, w którym skrypt ma działać i opróżniać kosz.

Pamiętaj, że możesz usunąć z IN: TRASH IN: SPAM lub z dowolnej innej etykiety. Nie usunie przypomnień, a usunięcie jest ostateczne. Nie możesz odzyskać żadnej z wiadomości e-mail.

Odpowiedzi

1 Rubén Nov 26 2020 at 05:16

Ostrzeżenie

Kod z podanej odpowiedzi trwale usuwa wiadomości z Kosza Gmaila. Nie powinniśmy kopiować i uruchamiać kodu, którego nie rozumiemy.


Jest bardzo prawdopodobne, że wspomniany komunikat o błędzie wystąpił, ponieważ następująca linia kodu nie była edytowana:

var mymail = "[email protected]";

Wymień "[email protected]"naSession.getActiveUser().getEmail()

Ratunek

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

Oryginalna treść odpowiedzi, o której mowa, była nieaktualna. Kilka chwil temu był redagowany przeze mnie.