Automatizarea sarcinilor cu serviciile

Dacă ați folosit un Mac pentru orice perioadă de timp, ați întâmpinat fără îndoială meniul de servicii la un moment dat și probabil că v-ați întrebat "pentru ce este meniul respectiv?" Ei bine, în acest tutorial, vom descifra misterul meniului de servicii și vom vedea cât de utile pot fi serviciile, creând unul dintre noi pe care îl vom putea folosi ori de câte ori avem nevoie să înlocuim o adresă URL lungă, neîngrădită, cu o scurtă.


Ce este un serviciu?

Pe scurt, serviciile permit aplicațiilor de pe computer să împărtășească funcționalitatea între ele. De exemplu, aplicația de e-mail standard oferă celorlalte aplicații posibilitatea de a crea noi mesaje sau note de e-mail pe baza textului pe care l-ați selectat în prezent.


Serviciul "New Email With Selection" oferit de Mail.app

Frumusețea serviciilor este că permit aplicațiilor să se concentreze asupra a ceea ce fac cel mai bine prin eliminarea sarcinii de a furniza funcții înrudite în mod gratuit, pe care alte aplicații le oferă deja.

Pe lângă faptul că permiteți aplicațiilor dvs. să împărtășească funcționalități unele cu altele, puteți crea, de asemenea, propriile servicii. Dacă sunteți o linie de comandă junk, atunci înțelegeți puterea pe care o oferă serviciile, deoarece ele vă permit, în esență, un mijloc de a crea script-uri contextuale pentru aplicațiile fereastră. Vom vedea un exemplu prin scrierea unui serviciu propriu. Serviciul pe care îl vom scrie în acest tutorial vă va permite să selectați o adresă URL în orice aplicație care permite editarea textului și să o convertiți într-o adresă URL scurtă prin utilizarea serviciului de scurtare a URL-ului de la bit.ly, fără a părăsi aplicația pe care o utilizați aflat în prezent sau atingând o fereastră a browserului.


1. Obțineți o cheie API bit.ly

Înainte de a putea începe cu serviciul nostru, trebuie să facem o mică pregătire. Pentru a folosi bit.ly pentru a scurta o adresă URL selectată, va trebui să avem acces la dezvoltator pentru acest serviciu. Deci, prima noastră sarcină va fi să vă înscrieți pentru un cont de dezvoltator bit.ly și să obțineți cheia API.

Pentru a face acest lucru, va trebui să navigați la pagina web a cheii API și, dacă aveți deja un cont de dezvoltator, trebuie doar să vă conectați.


Pagina de solicitare chei API pentru contul dezvoltatorului bit.ly

În caz contrar, va trebui să vă înscrieți pentru un cont nou.


Contul de dezvoltare a contului dezvoltatorului bit.ly

După ce terminați fie conectarea, fie înscrierea, veți ajunge la o pagină care vă va oferi cheia API.


Pagina cheie a contului bit.ly pentru dezvoltatorul API

Odată ce ați instalat contul dvs. de dezvoltator și ați recuperat cheia API, veți fi bine să mergeți, dar trebuie să căutați în continuare documentele API pentru a obține o idee despre cum să utilizați programa bitly serviciul bit.ly . Mai exact, aruncați o privire la documentația pentru metoda de scurtare, deoarece aceasta este cea pe care o vom folosi în serviciul nostru.


2. Creați fluxul de servicii

Pasul 1

Deci, acum că avem cheia API, suntem gata să creăm noul nostru serviciu. Vom folosi Automator pentru a crea serviciul nostru, continuați și deschideți-l acum și selectați Serviciu pentru noul nostru tip de flux de lucru.


Crearea unui nou flux de servicii în Automator

Pasul 2

Verifică Ieșirea înlocuiește textul selectat în secțiunea din zona de lucru. Acest lucru va asigura că adresa URL selectată din aplicația noastră este înlocuită cu versiunea scurtă emisă de serviciul nostru.


Verificați opțiunea de ieșire înlocuiește opțiunea de text selectată

Pasul 3

Acum, că aveți noua configurare a fluxului de lucru corect, puteți continua și adăugați prima acțiune la acesta. Faceți o căutare pentru Deschideți Shell Script acțiune și trageți-o și plasați-o în zona fluxului de lucru.


Adăugarea unei noi acțiuni "Run Shell Script" în fluxul de lucru

Pasul 4

Vom folosi Python pentru a scrie scriptul care va trimite URL-ul lung la bit.ly. În mod prestabilit, un serviciu nou utilizează shell-ul implicit ca limbaj de scripting, deci va trebui să îl modificați selectând / Usr / bin / python în Coajă lista verticală.


Selectarea Python ca limbaj de scripting pentru acțiunea "Run Shell Script"

În funcție de preferințele dvs., s-ar putea să vă simțiți mai ușor să vă ocupați de intrare ca și cum ați fi trecut în scriptul dvs. ca argument al liniei de comandă, decât să îl citiți din intrarea standard. Pentru a face acest lucru, va trebui să selectați ca argumente opțiune de la Treceți intrarea scapă jos.


Alegerea ca intrarea să fie transmisă ca acțiune în "Run Shell Script"

Odată ce ați instalat totul în conformitate cu instrucțiunile de mai sus, dvs. Automator fluxul de lucru ar dori doar următoarele:


Starea finală a tuturor setărilor serviciului

3. Adăugați codul

Codul pentru acest serviciu este relativ simplu. În esență, tot ceea ce facem este construirea unei adrese URL cu numele de utilizator, cheia API și adresa URL lungă, făcând o solicitare adresei URL respective și returnând adresa URL scurtă în răspuns. Dacă aveți experiență în programare, nu trebuie să aveți nicio problemă în urma pașilor de mai jos. Dacă nu sunteți un programator experimentat, dar sunteți interesat să învățați un pic, atunci următoarele explicații ar trebui să fie interesante. Dacă, totuși, doriți doar să creați serviciul și să nu vă deranjați cu detaliile, puteți să treceți înainte Codul sursă integrală secțiunea de mai jos și pur și simplu copiați și lipiți codul în Deschideți Shell Script acțiune în serviciul dvs..

Pasul 1

Vom trebui mai întâi să importăm urllib și urllib2 module. Acestea vor fi folosite pentru a codifica corect datele pe care le trimitem serviciului bit.ly și pentru a trimite cererea propriu-zisă. Va trebui, de asemenea, să importăm JSON pachet pentru a transforma răspunsul pe care îl primim înapoi într-un dicționar python. În cele din urmă, va trebui să importăm sys pachet pentru a ne oferi acces la argumentele liniei de comandă. Acest ultim modul este necesar deoarece am ales să trecem intrarea ca argumente atunci când am adăugat prima dată Deschideți Shell Script acțiune.

import urllib2 import urllib import json import sys 

Pasul 2

În acest pas vom crea sarcina utilă (adică datele) de care avem nevoie pentru a solicita adresa URL redusă. Pentru a începe, vom adăuga două constante pentru a păstra numele de utilizator și cheia API ale contului dezvoltatorului bit.ly pe care l-am generat în prima parte a acestui tutorial. Apoi, vom crea sarcina utilă (adică datele) pentru solicitare. Pentru a face acest lucru, vom crea un dict simplu cu trei perechi cheie / valoare. Primele două vor fi numele de utilizator și cheia API, iar al treilea va fi adresa URL pe care dorim să o scurtăm, pe care o vom extrage din lista argumentelor liniei de comandă.

USERNAME = 'you_username' API_KEY = payload = 'your_api_key' = 'login': USERNAME, 'apiKey': API_KEY, 'longUrl': sys.argv [1] 

Pasul 3

Odată ce avem sarcina utilă, vom avea nevoie să construim adresa URL a solicitării. Vom mai întâi nevoie să codificăm adresa URL a datelor despre încărcătura utilă, deoarece va intra în interogarea cererii și apoi va concatena-o pe punctul final (adică adresa URL) pentru metoda bit.ly shorten.

querystring = urllib.urlencode (date) url = 'https: //api-ssl.bitly.com/v3/shorten?% s'% interogare 

Pasul 4

Acum, când avem adresa URL completă, suntem pregătiți să solicităm versiunea prescurtată. Mai întâi creați un obiect Cerere cu adresa URL creată în pașii anteriori. Apoi, facem cererea și preluăm datele de la serviciu. Datele vor fi trimise înapoi ca JSON, așa că va trebui să le traducem într-un dicton python folosind modulul json.

request = urllib2.Request (url) răspuns = urllib2.urlopen (cerere) message = json.loads (răspuns.read ()) 

Pasul 5

Odată ce datele au fost preluate și analizate într-un dicton python, singurul pas rămas este extragerea URL-ului scurt de la dict și returnarea acestuia. Pentru a returna URL-ul, îl imprimați pur și simplu.

mesajul de tipărire ['data'] ['url'] 

Codul sursă integrală

Codul sursă complet al serviciului este prezentat mai jos, astfel încât să îl puteți copia și să îl inserați în Deschideți Shell Script acțiune în dvs. Automator flux de lucru.

import urllib import urllib2 import json import sys USERNAME = 'your_username' API_KEY = 'your_api_key' data = 'login': USERNAME, 'apiKey': API_KEY, 'longUrl': sys.argv [1] querystring = urllib.urlencode datele) url = 'https: //api-ssl.bitly.com/v3/shorten?% s'% querystring request = urllib2.Request (url) răspuns = urllib2.urlopen (request) message = json.loads (răspuns. read ()) mesaj de imprimare ['data'] ['url'] 

4. Testați serviciul

Pentru a testa serviciul nostru, va trebui să adăugăm o altă acțiune chiar înainte de Deschideți Shell Script acțiune. Această nouă acțiune va alimenta pur și simplu o adresă URL statică în Deschideți Shell Script acțiune care ne permite să verificăm dacă scriptul funcționează corect. Să adăugăm noua acțiune acum.

Pasul 1

Faceți o căutare rapidă pentru Obțineți text specificat acțiune și adăugați-o la fluxul de lucru chiar deasupra Deschideți Shell Script acțiune.


Adăugați o nouă acțiune "Obțineți text specificat" pentru a testa serviciul

Pasul 2

Odată ce ați adăugat noua acțiune, alegeți o adresă URL lungă și adăugați-o copiind și inserați-o în caseta de text a acesteia.


Adăugați o lungă adresă de testare la acțiunea "Obțineți text specificat" pentru a testa acțiunea "Rulați Shell Script"

Pasul 3

Acum sunteți gata să vă testați serviciul. Faceți clic pe Alerga în colțul din dreapta sus al paginii Automator Bara de instrumente a aplicației.


Rulați serviciul cu URL-ul testului

Pasul 4

Veți ști că testul este complet prin verificarea ieșirii în Buturuga secțiune din Automator în partea de jos, partea dreaptă a aplicației. În secțiunea jurnal, ar trebui să vedeți o mână de semne verde de lângă sarcinile care au avut loc în timpul run. Ultima speranță ar trebui să spunem Finalizarea fluxului de lucru. În caz contrar, testul a fost încheiat fără a fi eșuat.


Verificați jurnalul pentru a vedea când serviciul a terminat de executat

Pasul 5

Acum, că testul a încetat să funcționeze, puteți să verificați rezultatul pentru a vă asigura că funcționează așa cum ați așteptat. Pentru aceasta, faceți clic pe Rezultate butonul din partea de jos, partea stângă a butonului Deschideți Shell Script acțiune. Aceasta va dezvălui o nouă secțiune care conține rezultatul acțiunii. Dacă vedeți un URL bit.ly frumos scurtat acolo, știți că serviciul funcționează corect.


Verificați rezultatul testului pentru a vă asigura că acțiunea "Run Shell Script" a funcționat corect și a scurtat adresa URL

5. Implementați serviciul

Odată ce testele dvs. au fost finalizate și serviciul dvs. funcționează corect, sunteți gata să desfășurați serviciul. Cu alte cuvinte, sunteți gata să îl puneți la dispoziția tuturor aplicațiilor de pe aparat. Pentru a face acest lucru, tot ce trebuie să faceți este să salvați fluxul de lucru și să-i dați un nume, dar înainte de a face acest lucru, asigurați-vă că Obțineți text specificat acțiunea pe care am adăugat-o la fluxul de lucru în scopuri de testare nu este în cale.

Pasul 1

În momentul de față, dacă am încercat să folosim serviciul nostru, s-ar întoarce doar adresa URL scurtă a adresei de test pe care am adăugat-o în ultima noastră secțiune. Motivul pentru asta este faptul că noi Obțineți text specificat acțiunea este apelată înaintea codului nostru și, prin urmare, ignoră complet orice intrare pe care o oferim (adică textul selectat în prezent) și în schimb doar trimiterea adresei URL în caseta de text în Deschideți Shell Script acțiune. Puteți să eliminați acțiunea, dacă doriți, făcând clic pe Obțineți text specificat acțiune în fluxul de lucru și atingerea butonului de ștergere. Dar, dacă faceți modificări la cod în viitor și doriți să testați aceste modificări? Ei bine, puteți doar să adăugați Obțineți text specificat acțiune și o adresă URL de testare din nou, atunci când vine momentul, sau puteți păstra cea pe care o avem în prezent și o dezactivați pentru moment. Pentru a dezactiva acțiunea, selectați acțiunea în fluxul de lucru și Control-clic pentru a afișa meniul contextual, apoi selectați Dezactivați.


Dezactivând acțiunea "Obțineți text specificat", astfel încât noul serviciu să funcționeze cu textul selectat

Pasul 2

Odată ce ați dezactivat sau ați șters Obțineți text specificat acțiune, puteți salva serviciul - dați-i numele Scurtați adresa URL selectată-și începeți să o utilizați în toate celelalte aplicații de pe sistemul dvs. Să mergem mai departe și să încercăm acum noul nostru serviciu.

Pasul 3

Pentru a testa noul nostru serviciu, vom folosi TextEdit deoarece vine standard pe toate Mac-urile. Du-te și deschide-te TextEdit și adăugați o lungă adresă URL la acesta. Apoi selectați adresa URL și selectați TextEdit> Servicii> Scurtați URL-ul selectat. Ar trebui să dureze aproximativ o secundă pentru solicitarea de a ajunge la serviciul bit.ly și din nou, dar când sa terminat, tu ți-a înlocuit textul selectat cu un bit.ly nou scurtat.


Testarea noului serviciu "în sălbăticie" folosind TextEdit.app

6. Adăugați o comandă rapidă de la tastatură (opțional)

Ultimul pas în dezvoltarea serviciului de scurtare a adreselor URL este unul opțional. Practic, scurtarea unei adrese URL este ceva ce fac în mod regulat și, cel puțin pentru mine, având o scurtătură de tastatură asociată cu acest serviciu, este mult mai ușor de folosit decât navigarea prin meniul Servicii de fiecare dată. Mai mult decât atât, vom adăuga o scurtătură de la tastatură la serviciul nostru nou.

Pasul 1

Pentru a adăuga o comandă rapidă de la tastatură pentru noul nostru serviciu, va trebui să deschideți Preferințe sistem și navigați la Tastatură panoul. Apoi selectați Comenzi rapide de la tastatură fișiere urmată de Servicii din lista din stânga și parcurgeți lista serviciilor până când găsiți noul serviciu - ar trebui să îl găsiți în cadrul Text secțiune.


Adăugarea unei comenzi rapide de la tastatură pentru noul serviciu

Pasul 2

Acum trebuie doar să adăugăm combinația actuală de chei pe care o vom folosi pentru a ne invoca serviciul nostru. Pentru a face acest lucru, faceți clic pe adauga scurtatura și apăsați combinația de taste pe care o preferați. Am ales combinația Control-Option-Command-uri pentru mine, dar puteți alege orice doriți, deși ar trebui să încercați să evitați combinațiile cheie deja în uz.


Ce urmează?

În acest tutorial am analizat în profunzime serviciile, o caracteristică foarte puternică a OS X. Am învățat ce servicii sunt și cum să le creăm și, pe parcursul acestui tutorial, am creat unul dintre propriile noastre pe care le putem folosi pentru a scurta URL-urile lungi folosind bit.ly. Singura întrebare rămasă este "ce urmează?"

Aveți idei pentru serviciile de știri pe care doriți să le creați? Ai creat ceva în trecut? Împărtășiți ideile și codul dvs. în comentariile de mai jos!