Automat Oppgaver Med Services

Automating Oppgaver Med Services

Hvis du har brukt en Mac i lengre tid, har du sikkert støtt på tjenestemenyen på et tidspunkt, og du har sikkert lurt på til deg selv "bare hva er at menyen for? " Vel, i denne opplæringen, skal vi tyde mysteriet av tjenestemenyen, og vi får se hvor nyttig tjenester kan være med å skape en av vår egen at vi vil være i stand til å bruke når vi trenger å erstatte en lang, hengslete URL med en forkortet en.




Hva er en tjeneste?

kort sagt, tjenester tillater appene på datamaskinen til å dele funksjonalitet blant dem selv. For eksempel gir standard post-applikasjonen de andre appene dine med evne til å skape nye e-postmeldinger eller notater basert på teksten du nå har valgt.
"Ny e-post med Selection" tjeneste levert av Mail.app

det fine med tjenestene er at de tillater apps til å fokusere på det de gjør best ved å fjerne byrden av å tilby løst relaterte funksjoner som andre apps allerede tilbyr.

i tillegg til at programmene dine til å dele funksjonalitet med hverandre du kan også lage dine egne tjenester. Hvis du er en kommandolinje elendige, så du forstår kraften som tjenester gir, siden de egentlig tillate deg et middel for å skape kontekstavhengig skript for windowed apps. Vi får se et eksempel på dette ved å skrive en tjeneste av vår egen. Tjenesten vi skal skrive i denne opplæringen vil tillate deg å velge en nettadresse i et program som gjør at tekstredigering, og konvertere den til en forkortet URL gjennom bruk av bit.ly URL forkortelse tjenesten uten å forlate appen du er for tiden i eller berøre et nettleservindu.



1. Få en bit.ly API Key

Før vi kan komme i gang med tjenesten vår, må vi gjøre litt oppsett. For å kunne bruke bit.ly å forkorte en valgt URL, må vi ha utvikleren tilgang til tjenesten. Så vil vår aller første oppgave være å registrere seg for en bit.ly utviklerkonto og få våre API-nøkkel.

For å gjøre det, må du navigere til API-nøkkel webside, og hvis du allerede har en utvikler-konto, kan du logge deg inn.
bit.ly utviklerkonto API-nøkkel forespørsel side

Ellers må du registrere deg for ny konto.
bit .ly utviklerkonto melde seg side

Når du er ferdig enten logge på eller registrere deg, vil du bli tatt til en side som vil gi deg din API-nøkkel.
bit.ly utviklerkonto API-nøkkel side

Når du har fått utviklerkontoen oppsettet og du har hentet din API-nøkkel, vil du være godt å gå, men du fortsatt trenger å se over API docs for å få en idé om hvordan du bruker den bit.ly tjenesten programmatisk. Nærmere bestemt, ta en titt på dokumentasjonen for forkorte metode som det er den som vi skal bruke i vår tjeneste.



2. Lag Tjenesten arbeidsflyt

Trinn 1

Så nå som vi har vår API-nøkkel, er vi klare til å lage vår nye tjeneste. Vi skal bruke Automator
å lage vår service, så gå videre og åpne den opp nå og velge Service for vår nye arbeidsflyten type.
Opprette en ny tjeneste arbeidsflyt i Automator
Trinn 2

Sjekk Output erstatter valgt tekst boksen i seksjonen oppå arbeidsflyten området. Dette vil sikre at den valgte URL i vår app er erstattet med den forkortede versjonen slippes ut av vår tjeneste.
Sjekk Output erstatter valgt tekst alternativet
Trinn 3

Nå som du har din nye arbeidsflyten opp riktig, kan du gå videre og legge din første handling til det. Gjør et søk på Run Shell Script handling og dra og slipp den inn i arbeidsflyten området.
Legge til en ny "Run Shell Script" handling til arbeidsflyt
Trinn 4

Vi er ll være å bruke Python til å skrive manuset som vil sende den lange URL til bit.ly. Som standard en ny tjeneste bruker din standard shell som sin skriptspråk, så må du endre den ved å velge /usr /bin /python i nedtrekkslisten Shell.
Velge Python som skriptspråk for "Run Shell script" action

Avhengig av dine preferanser, kan du finne det lettere å forholde seg til innspill som om det var gått inn i skriptet som en kommandolinje argument i stedet for å lese den inn fra standard input. For å gjøre dette, må du velge den som argumenter alternativ fra Pass innspill nedtrekksmenyen.
Velger å ha inngangs gått inn i vår "Run Shell Script" action som argumenter

Når du har alt oppsett i henhold til instruksjonene ovenfor, bør Automator
arbeidsflyt liker bare følgende:
den endelige tilstand av alle innstillinger for tjenesten



3. Legg anbefalingen

Koden for denne tjenesten er relativt enkel. I hovedsak er alt vi gjør konstruere en URL med vår brukernavn, API-nøkkel, og lange URL, noe som gjør en forespørsel til at nettadressen, og returnere den forkortede URL i svaret. Hvis du har noen erfaring med programmering, bør du ha noe problem å følge trinnene nedenfor. Hvis du ikke er en erfaren programmerer, men er interessert i å lære litt, så kan følgende forklaringer bør være av interesse. Hvis derimot, du bare ønsker å opprette tjenesten og ikke bli plaget med detaljene, kan du gå videre til full kildekode
nedenfor og bare kopiere og lime inn koden i Run Shell script
handling i tjenesten.

Trinn 1

Vi må først importere urllib og urllib2 moduler. De vil bli brukt til riktig kode dataene som vi sender til bit.ly tjeneste og sende den faktiske forespørselen selv. Vi trenger også å importere JSON-pakken for å slå den responsen vi komme tilbake til en python dict. Til slutt må vi importere sys pakken å gi oss tilgang til kommandolinjeargumentene. Dette siste modulen er nødvendig siden vi valgte å passere innspill som argumenter når vi først lagt til Run Shell Script
handling
. Import urllib2import urllibimport jsonimport sys
Trinn 2

I denne trinn vil vi skape nyttelasten (dvs. dataene) som vi trenger å be om den forkortede URL. Til å begynne, vil vi legge to konstanter å holde vår bit.ly utviklerkonto brukernavn og API-nøkkel som vi generert i den første delen av denne opplæringen. Deretter vil vi skape nyttelasten (dvs. data) for forespørselen. For å gjøre det, skaper vi en enkel dict med tre nøkkel /verdi-par. De to første vil være vår brukernavn og API-nøkkel og den tredje blir nettadressen som vi ønsker å forkorte, som vi skal hente fra listen over kommandolinjeargumentene.
Username = 'you_username'API_KEY =' your_api_key'payload = { 'login': BRUKERNAVN, 'apikey': API_KEY, 'longUrl': sys.argv [1]}
Trinn 3

Når har vi vår nyttelast, vi trenger konstruere URL for forespørselen. Vi må først URL kode vår nyttelast data siden det vil være å gå inn i spørrestrengen av anmodningen, og deretter sette sammen det på endepunktet (dvs. URL) for bit.ly forkorte metoden.
Spørrestrengen = urllib. urlencode (data) url =:% spørrestrengen
Trinn 4

nå som vi har full URL, vi er 'http //api-ssl.bitly.com/v3/shorten% s? klar til å be om forkortet versjon. Vi skaper først en Request-objektet med nettadressen vi opprettet i forrige trinn. Da vi gjøre forespørselen og hente data fra tjenesten. Dataene vil bli sendt tilbake som JSON, så vi må oversette det til en python dict bruke json modulen.
Forespørsel = urllib2.Request (url) respons = urllib2.urlopen beskjed (forespørsel) = json.loads (response.read ())
trinn 5

Når dataene er hentet og analysert i en python dict, er den eneste skritt til venstre for å trekke den forkortede URL fra dict og returnere det. For å gå tilbake URL, vi bare skrive det.
Print melding [ 'data'] [ 'url']
full kildekode

full kildekode for tjenesten er oppført nedenfor, så du kan ganske enkelt kopiere og lime den inn i Run Shell Script
handling i Automator
arbeidsflyt.
import urllibimport urllib2import jsonimport sysUSERNAME = 'your_username'API_KEY =' your_api_key'data = { 'login': BRUKERNAVN, 'apikey': API_KEY, 'longUrl': sys.argv [1]} spørrestrengen = urllib.urlencode (data) url = 'http: //api-ssl.bitly.com/v3/shorten? % s '% querystringrequest = urllib2.Request (url) respons = urllib2.urlopen (forespørsel) message = json.loads (response.read ()) print melding [' data '] [' url ']



4. Test Tjenesten

For å teste vår tjeneste vi må legge til en annen handling rett før Run Shell Script
handling. Denne nye tiltak vil bare mate en statisk nettadresse i Run Shell Script
handling slik at vi kan bekrefte at skriptet fungerer riktig. La oss legge til at nye tiltak nå.

Trinn 1

Gjør et raskt søk for Get spesifiserte teksten handling og legge den til arbeidsflyten rett ovenfor Run Shell Script
handling .
Legg til en ny "Get angitte teksten" handling for å teste tjenesten
Trinn 2

Når du har den nye handlingen lagt til, plukke en fin lang nettadresse og legge kopiere og lime den inn i den nye handlingen er tekstboksen.
Legg en lang test URL til "Get angitte teksten" handling for å teste "Run Shell Script" action
Trinn 3

nå din klar til å teste tjenesten. Klikk på Kjør-knappen i øvre høyre hjørne av Automator
app verktøylinje.
Kjøre tjenesten med testen URL
Trinn 4

Du vet det testen er fullført ved å sjekke resultatet i loggen delen av Automator
nederst, høyre side av programmet. I loggen delen, bør du se en håndfull grønne haker ved siden av oppgaver som skjedde under kjøringen. Den siste av de oppgavene bør forhåpentligvis si arbeidsflyt fullført. Hvis den gjør det, fullførte testen uten å mislykkes.
Sjekk loggen for å se når tjenesten er ferdig utfører
Trinn 5

Nå som testen er ferdig med å kjøre, kan du sjekke utgang for å sørge for at det fungerte slik du forventet at det skulle. For å gjøre det, klikker du på knappen Resultater nederst, venstre side av Run Shell Script
handling. Dette vil avdekke en ny seksjon som inneholder utgangen av handlingen. Hvis du ser et pent forkortet bit.ly URL der, vet du tjenesten fungerer som den skal.
Sjekk resultatet av testen for å sørge for at "Run Shell Script" action jobbet riktig og forkortet URL



5. Distribuer Tjenesten

Med testene gjennomført og din tjeneste fungerer som den skal, er du nå klar til å distribuere tjenesten. Med andre ord, er du klar til å gjøre den tilgjengelig for alle programmer på din maskin. For å gjøre det, er alt du egentlig trenger å gjøre lagre arbeidsflyten og gi den et navn, men før vi gjør det, la oss sørge for at Hent angitte teksten
handling som vi har lagt til arbeidsflyten for testformål ikke kommer i veien.

Trinn 1

Per akkurat nå, hvis vi prøvde å bruke vår tjeneste det vil returnere bare den forkortede URL av test URL vi lagt i vår siste avsnitt. Grunnen til det er at vår Kom angitte teksten
handling blir kalt før vår kode, og så er det fullstendig ignorerer alle innspill vi gi den (dvs. merket tekst), og i stedet bare sende URL i sin tekstboks inn i Run Shell Script
handling. Du kan ganske enkelt fjerne handlingen hvis du ønsker det, ved å klikke på Hent angitte teksten
handling i arbeidsflyten og treffer slett-knappen. Men, hva hvis du gjør endringer i koden i fremtiden, og ønsker å teste disse endringene? Vel, du kan bare legge til Hent spesifiserte teksten
handling og en test URL igjen når den tid kommer, eller du kan holde den vi i dag har, og bare deaktivere den for tiden. Hvis du vil deaktivere handling ved å velge handlingen i arbeidsflyten og Kontroll-klikk
den for å vise kontekstmenyen, og velg Deaktiver.
Deaktivering av "Get angitte teksten" action så den nye tjenesten vil arbeide med utvalgte tekst
Trinn 2

Når du har deaktivert eller slettet Hent angitte teksten
handling, kan du lagre service gi den navnet forkorte valgte URL-og begynne å bruke den i alle andre programmer på systemet ditt. La oss gå videre og gi vår nye tjeneste en prøve nå.

Trinn 3

For å teste vår nye tjeneste, vi kommer til å bruke TextEdit-programmet siden det er standard på alle Mac-maskiner. Gå videre og åpne opp TextEdit og legge en lang URL til det. Deretter velger du URL og velg TextEdit > Tjenester > Forkorte valgte URL
. Det tar omkring et sekund for forespørsel om å gjøre det til bit.ly tjenesten og tilbake igjen, men når den er ferdig, du hun den markerte teksten erstattet med en nylig forkortet bit.ly URL.
Teste nye tjenesten "i naturen" ved hjelp TextEdit.app



6. Legg en hurtigtast (valgfritt)

Det siste trinnet i utviklingen i vår URL forkortelse tjenesten er en valgfri en. I utgangspunktet forkorte en URL er noe jeg gjør på en svært regelmessig, og for meg i det minste ha en tastatursnarvei tilknyttet tjenesten gjør det så mye enklere å bruke enn å navigere gjennom menyen Tjenester hver gang. Med enn i tankene, kommer vi til å legge til en hurtigtast til vår nye tjeneste.

Trinn 1

For å legge til en tastatursnarvei for vår nye tjeneste, må du åpne < em> Systemvalg
og naviger til Tastatur
ruten. Deretter velger du Hurtigtaster
fanen etterfulgt av Tjenester
element i listen til venstre, og bla gjennom listen over tjenester til du finner den nye tjenesten-du bør finne det innenfor Tekst
delen.
legge til en tastatursnarvei for den nye tjenesten
Trinn 2

nå trenger vi bare å legge selve nøkkelen kombinasjon som vi skal bruke til å påkalle vår tjeneste. For å gjøre det, klikk på add snarveiknappen og trykk tastekombinasjonen som du foretrekker. Jeg har valgt kombinasjonen Kontroll-Tilvalg-Kommando-Koreas
for meg, men du kan velge noe du liker, men du bør prøve å unngå tastekombinasjoner allerede i bruk.



Hva nå?

i denne opplæringen vi har tatt en grundig titt på tjenester, en svært kraftig funksjon i OS X. Vi har lært hvilke tjenester er og hvordan du oppretter dem, og i løpet av kurset av denne opplæringen, har vi skapt en av våre egne som vi kan bruke til å forkorte lange nettadresser ved hjelp bit.ly. Det eneste spørsmålet igjen er "hva nå?"

Har du noen ideer til nyhetstjenester som du ønsker å skape? Har du laget noe i det siste? Del dine ideer og kode i kommentarfeltet nedenfor!