Programování | Hackujeme Google v Apps Scriptu | Javascript

Hackujeme Gmail v Apps Scriptu: Jak na výplatní pásku v zašifrovaném PDF

  • Před pár dny mi dorazila výplatní páska v šifrovaném PDF
  • Dnes si vyzkoušíme službu ConvertAPI
  • V Apps Scriptu s její pomocí PDF dešifrujeme a převedeme na text

Je tu neděle a s ní další pokračovaní našeho seriálu o takovém tom domácím programování osobních počítačů, serverů a drobné elektroniky internetu věcí.

Tentokrát se vrátíme opět na zmíněný internet a k mocnému běhovému prostředí Apps Script, které je součástí úložiště Google Drive a pomocí svého upraveného Javascriptu umí automatizovat většinu služeb této firmy pro koncové uživatele.

Zašifrované výplatný pásky v PDF

V našem vydavatelství používáme podnikové předplatné Workspace a jedeme na Gmailu. Na tentýž Gmail mi proto každý měsíc chodí také digitální podoba výplatní pásky ve formě zašifrovaného dokumentu PDF.

40d66aed-9b84-40b7-8676-02f2299c9601
Pozdrav ze mzdové účtárny ve formě zašifrované výplatní pásky

V předchozích dílem jsme si ukázali, jak takovou zprávu v Apps Scriptu dohledat, vytáhnout z ní přílohu PDF a tu pak uložit pro archivační účely třeba adresáře Výplatní pásky na úložišti Drive. Potvrzení o výplatě chodí na začátku každého měsíce, v plánovači spouštění by proto jen stačilo nastavit, aby náš archivační program startoval třeba vždy 10. den v měsíci.

957b6734-25ae-4373-8bde-eaba676d26d2
Ale ne, ono to po mně chce nějaké heslo 😲

ConvertAPI umí transformovat dokumenty

No dobrá, Apps Script mi sice bude automaticky archivovat výplatnice, ale já je bez hesla nebudu moci otevřít, což je otrava, protože si na něj nikdy nevzpomenu. Co kdyby se mi archivovaly tytéž přílohy v PDF, ale nějaký mezičlánek by je dešifroval do čitelné podoby?

8c1de783-ad5a-42c8-aa70-30b80e6057d2
Převádí dokumenty mezi formáty, šifruje i dešifruje...

Přesně to za mě v dnešním příkladu provede skvělá služba ConvertAPI. Jak už název napovídá, jedná se o aplikační rozhraní univerzálního konvertoru, který si poradí s transformací všech běžně používaných kancelářských dokumentových formátů.

1 500 sekund zdarma

ConvertAPI samozřejmě není charitativní organizace, ale komerční služba jako každá jiná, provozovatel si proto účtuje čas, který jeho servery stráví převodem. Ale pozor, ještě náš článek znechuceně nezavírejte, každý nový uživatel totiž do začátku dostane 1 500 sekund na vlastní experimentování.

69b87cd7-0e1e-4194-a017-f51583a27785
Nebojte se, jednoduchá konverze spálí pouhé jednotky sekund

Je to hodně, nebo málo? Záleží na způsobu použití. Nám by takový kredit vystačil možná až na několik desítek let. Pojďme si to vyzkoušet krok za krokem.

Vyhledej výplatní pásku

Nejprve v Apps Scriptu vyhledáme poslední zprávu v Gmailu, která obsahuje výplatní pásku od mého zaměstnavatele. Pravidelní čtenáři našeho seriálu toto už dávno umějí, stejným způsobem jsme už totiž hledali nejrůznější faktury a další přílohy. Přesto si to zopakujme.

f699a816-3d1c-4b63-9007-7ca6188e60b9
Vyhledání výplatních pásek v Gmailu

Můj e-mail s výplatou má vždy nadpis „Výplatní páska“ a musí mít přílohu, takže všechny odpovídající zprávy dohledám pomocí kouzlené formule:

subject:"Výplatní páska" has:attachment 

Úryvek kódu v Apps Scriptu, který najde chronologicky nejmladší odpovídající e-mail a vytáhne z něj kýženou přílohu jako univerzální datový kontejner typu Blob, bude vypadat takto:

var vlakna = GmailApp.search("subject:\"Výplatní páska\" has:attachment", 0, 1);
var zprava = GmailApp.getMessagesForThread(vlakna[0])[0];
var souborPDF = zprava.getAttachments()[0].copyBlob();

Dešifruj PDF

Blob bychom tedy měli a teď do hry konečně zapojíme ConvertAPI. Aby si mohl každý z vás dopředu vyzkoušet jeho schopnosti, služba nabízí Live Demo – editor dotazu konkrétního API, přičemž vedle surového HTTPS POST dotazování pomocí URL nechybí ani knihovny pro všemožné jazyky od Pythonu po PHP.

Pokračování článku patří k prémiovému obsahu pro předplatitele

Chci Premium a Živě.cz bez reklam Od 41 Kč měsíčně
Váš názor Další článek: Co vy na to: Chráníte mobil pouzdrem nebo krycím sklem?

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,