Pokud hrajete geocaching a založili jste několik kešek, pravděpodobně jste již někdy dostali log, který vás tak úplně nezajímal. Myslím tím krátké vzkazy jako: "TFTC", "Díky za cache", "Díky", případně jen smajlík. Když nějakou dobu logy nečtete, máte najednou plnou schránku a stojíte před rozhodnutím, jestli logy číst, mazat nebo nějak roztřídit. Vytvořil jsem krátký script, který logům kratším než 40 znaků přiřadí štítek. Snadněji se tak rozhodnete, co číst a co vyhodit. Pokud používáte Gmail, můžete automatický filtr také vyzkoušet.
1. Spusťte Google Disk a vytvořte nový soubor Google Apps Script
2. Do souboru překopírujte následující kód:
// Jméno štítku, kterým budou označeny nevyřešené emaily
var SHORT_LOG_LABEL_NAME = 'TFTC';
// Funkce vytvoří nový štítek, pokud ještě neexistuje
function getShortLogLabel() {
var label = GmailApp.getUserLabelByName(SHORT_LOG_LABEL_NAME);
if (label == null)
label = GmailApp.createLabel(SHORT_LOG_LABEL_NAME);
return label;
}
// Odebere štítek všem e-mailům
function removeShortLogLabels() {
var label = getShortLogLabel();
var threads = GmailApp.search('label:' + SHORT_LOG_LABEL_NAME);
for (var i = 0; i < threads.length; i++)
label.removeFromThread(threads[i]);
}
// Přidá štítek k nejnovějším 200 e-mailům, které vyhovují regulárnímu výrazu
function addShortLogLabel() {
var label = getShortLogLabel();
// čísla 0, 200 určují začátek a konec vyhledávání. Maximum je 500
var threads = GmailApp.getInboxThreads(0, 200);
// Projde všechny e-maily v rozsahu
for (var i = 0; i < threads.length; i++) {
var tmp,
message = threads[i].getMessages()[0],
content = message.getPlainBody();
// Zkontroluje, jestli obsah e-mailu odpovídá zadanému pravidlu
if (content) {
// Regulární výraz - číslice 40 určuje délku logu, kratší logy než 40 znaků jsou označeny štítkem
tmp = content.match(/(:\*)\s.{1,70}\s{1,}(This)/);
// Pokud odpovídá pravidlu, přidá štítek
if (tmp)
label.addToThread(threads[i]);
}
} // Konec podmínky
} // Konec cyklu
Kód vytvoří 3 funkce.
- getShortLogLabel - která vytvoří v Gmailu štítek pojmenovaný "TFTC", tímto štítkem budou označovány všechny krátké e-maily
- removeShortLogLabels - která odebere všechny TFTC štítky. Používal jsem při testování podmínek
- addShortLogLabel - která kontroluje e-maily a přidává TFTC štítek.Tato funkce bude spouštěna automaticky.
3. Klikněte na "Spouštěče aktuálního projektu" (tlačítko s hodinami) a nastavte spouštění funkce addShortLogLabel.


5. Klikněte na rozšířené možnosti a přejděte na nastavení nově vytvořené aplikace.

6. Zkontrolujte, pro kterou aplikaci povolujte jaká oprávnění. A klikněte na povolit.
7. Po té, co vytvořenému scriptu přidělíte oprávnění přístupu k vašemu Gmail účtu, spusťte funkci getShortLogLabel, která vytvoří štítek "TFTC", případně si na druhém řádku kódu pojmenujte štítek tak, jak vám vyhovuje.
8. Přepněte se do Gmailu a v nastavení štítku zvolte barvu štítku, jaká vám vyhovuje
9. Pokud chcete funkčnost celého scriptu otestovat hned, v editoru scriptu spusťte ručně funkci addShortLogLabel.
10. Pokud budete v budoucnu chtít tomuto scriptu odebrat přístup k vašemu Gmail účtu, můžete tak učinit v nastavení Google účtu, na adrese https://myaccount.google.com/permissions
Doporučuji zde rovnou zkontrolovat, kterým aplikacím jste již přístup udělili. Nepoužívaným aplikacím přístup odeberte. Stejně tak zkontrolujte, na které web se přihlašujete pomocí google účtu
Komentáře
Okomentovat