Wenn Sie einen Mac für längere Zeit verwendet haben, sind Sie zweifellos an einem Punkt auf das Menü "Services" gestoßen, und Sie haben sich wahrscheinlich gefragt, "wozu dient das Menü eigentlich?" Nun, in diesem Tutorial werden wir das Geheimnis des Services-Menüs enträtseln, und wir werden sehen, wie nützlich Services sein können, indem wir einen unserer eigenen erstellen, den wir verwenden können, wann immer wir ihn ersetzen müssen eine lange, unauffällige URL mit einer verkürzten.
Kurz gesagt, Dienste ermöglichen es den Apps auf Ihrem Computer, Funktionen gemeinsam zu nutzen. Mit der Standard-Mail-App können Sie beispielsweise für andere Apps neue E-Mail-Nachrichten oder Notizen erstellen, die auf dem aktuell ausgewählten Text basieren.
Das Schöne an Services ist, dass sich Apps auf das konzentrieren können, was sie am besten können, indem sie die Bereitstellung von lose verwandten Funktionen, die andere Apps bereits bieten, entlasten.
Sie können nicht nur zulassen, dass Ihre Apps Funktionen gemeinsam nutzen, sondern auch eigene Dienste erstellen. Wenn Sie ein Befehlszeilen-Junky sind, verstehen Sie die Leistungsfähigkeit der Dienste, da sie Ihnen im Wesentlichen die Möglichkeit bieten, kontextsensitive Skripts für Ihre Fenster-Apps zu erstellen. Wir werden ein Beispiel dafür sehen, indem wir einen eigenen Service schreiben. Mit dem Dienst, den wir in diesem Lernprogramm schreiben werden, können Sie in jeder Anwendung, die Textbearbeitung zulässt, eine URL auswählen und diese mithilfe des bit.ly-URL-Verkürzungsdienstes in eine verkürzte URL umwandeln, ohne die App zu verlassen derzeit in einem Browserfenster oder berühren dieses.
Bevor wir mit unserem Service beginnen können, müssen wir einige Einstellungen vornehmen. Um bit.ly verwenden zu können, um eine ausgewählte URL zu verkürzen, benötigen wir Entwicklerzugriff auf den Dienst. Unsere erste Aufgabe besteht also darin, sich für einen bit.ly-Entwicklerkonto anzumelden und unseren API-Schlüssel zu erhalten.
Dazu müssen Sie zur API-Key-Website navigieren. Wenn Sie bereits über ein Entwicklerkonto verfügen, melden Sie sich einfach an.
Andernfalls müssen Sie sich für ein neues Konto anmelden.
Nachdem Sie sich entweder angemeldet oder angemeldet haben, werden Sie zu einer Seite weitergeleitet, auf der Sie Ihren API-Schlüssel erhalten.
Sobald Sie Ihr Entwicklerkonto eingerichtet und Ihren API-Schlüssel abgerufen haben, können Sie sofort loslegen. Sie müssen sich jedoch die API-Dokumente ansehen, um eine Vorstellung davon zu bekommen, wie Sie den bit.ly-Dienst programmgesteuert verwenden können . Sehen Sie sich insbesondere die Dokumentation für die short-Methode an, die wir in unserem Service verwenden werden.
Jetzt, da wir unseren API-Schlüssel haben, können wir unseren neuen Service erstellen. Wir werden verwenden Automator Um unseren Service zu erstellen, öffnen Sie ihn jetzt und wählen Sie Bedienung für unseren neuen Workflow-Typ.
Überprüf den Die Ausgabe ersetzt den ausgewählten Text Kontrollkästchen im Abschnitt auf dem Workflowbereich. Dadurch wird sichergestellt, dass die ausgewählte URL in unserer App durch die von unserem Service ausgegebene gekürzte Version ersetzt wird.
Nachdem Sie nun Ihren neuen Workflow richtig eingerichtet haben, können Sie Ihre erste Aktion hinzufügen. Suchen Sie nach dem Führen Sie das Shell-Skript aus Aktion und ziehen Sie sie in den Workflow-Bereich.
Wir werden Python verwenden, um das Skript zu schreiben, das die lange URL an bit.ly sendet. Standardmäßig verwendet ein neuer Dienst Ihre Standardshell als Skriptsprache. Sie müssen sie durch Auswahl ändern / usr / bin / python in dem Schale Dropdown-Liste.
Je nach Vorliebe ist es möglicherweise einfacher, mit der Eingabe umzugehen, als würde sie als Befehlszeilenargument an Ihr Skript übergeben, anstatt sie aus der Standardeingabe einzulesen. Dazu müssen Sie das auswählen als Argumente Option aus der Eingabe übergeben Dropdown-Liste.
Sobald Sie alles gemäß den obigen Anweisungen eingerichtet haben, wird Ihre Automator Der Workflow sollte nur Folgendes mögen:
Der Code für diesen Dienst ist relativ einfach. Im Wesentlichen erstellen wir lediglich eine URL mit unserem Benutzernamen, dem API-Schlüssel und der langen URL, stellen eine Anfrage an diese URL und geben die verkürzte URL in der Antwort zurück. Wenn Sie Erfahrung mit der Programmierung haben, sollten Sie die folgenden Schritte nicht befolgen. Wenn Sie kein erfahrener Programmierer sind, aber ein wenig lernen möchten, sollten die folgenden Erklärungen von Interesse sein. Wenn Sie jedoch einfach den Dienst erstellen möchten und sich nicht mit den Details beschäftigen möchten, können Sie mit fortfahren Der vollständige Quellcode Abschnitt unten und kopieren und fügen Sie den Code einfach in die Führen Sie das Shell-Skript aus Aktion in Ihrem Dienst.
Wir müssen zuerst die importieren Urllib
und urllib2
Module. Sie werden verwendet, um die Daten, die wir an den bit.ly-Dienst senden, richtig zu codieren und die eigentliche Anforderung selbst zu senden. Wir müssen auch die importieren Json
Paket, um die Antwort zu erhalten, erhalten wir wieder ein Python-Diktat. Schließlich müssen wir die importieren sys
Paket, um uns Zugriff auf die Befehlszeilenargumente zu geben. Dieses letzte Modul ist notwendig, da wir die Eingabe als Argumente übergeben haben, als wir das erste Mal hinzugefügt haben Führen Sie das Shell-Skript aus Aktion.
import urllib2 import urllib import json import sys
In diesem Schritt erstellen wir die Nutzdaten (d. H. Die Daten), die zum Anfordern der gekürzten URL erforderlich sind. Zu Beginn fügen wir zwei Konstanten hinzu, die den Benutzernamen und den API-Schlüssel des bit.ly-Entwicklerkontos enthalten, die wir im ersten Teil dieses Lernprogramms generiert haben. Dann erstellen wir die Nutzdaten (d. H. Die Daten) für die Anforderung. Dazu erstellen wir ein einfaches Diktat mit drei Schlüssel / Wert-Paaren. Die ersten beiden sind unser Benutzername und der API-Schlüssel und die dritte ist die URL, die wir verkürzen möchten. Diese wird von der Liste der Befehlszeilenargumente abgerufen.
USERNAME = 'you_username' API_KEY = 'your_api_key' payload = 'login': USERNAME, 'apiKey': API_KEY, 'longUrl': sys.argv [1]
Sobald wir unsere Nutzdaten haben, müssen wir die URL für die Anfrage erstellen. Wir müssen zuerst unsere Payload-Daten mit einem URL-Code kodieren, da sie in den Abfragestring der Anforderung eingehen, und sie dann mit dem Endpunkt (d. H. Der URL) für die bit.ly-Methode short verketten.
querystring = urllib.urlencode (data) url = 'https: //api-ssl.bitly.com/v3/shorten?% s'% querystring
Nun, da wir die vollständige URL haben, können wir die gekürzte Version anfordern. Zuerst erstellen wir ein Request-Objekt mit der in den vorherigen Schritten erstellten URL. Dann stellen wir die Anfrage und rufen die Daten vom Dienst ab. Die Daten werden als JSON zurückgesendet. Daher müssen wir sie mithilfe des Json-Moduls in ein Python-Diktat übersetzen.
request = urllib2.Request (url) antwort = urllib2.urlopen (request) message = json.loads (response.read ())
Nachdem die Daten abgerufen und in ein Python-Diktat geparst wurden, müssen Sie nur noch die gekürzte URL aus dem Diktat extrahieren und zurückgeben. Um die URL zurückzugeben, drucken wir sie einfach.
Nachricht drucken ['data'] ['url']
Der vollständige Quellcode für den Dienst ist unten aufgeführt. Sie können ihn einfach kopieren und in das Verzeichnis einfügen Führen Sie das Shell-Skript aus Aktion in Ihrem Automator Arbeitsablauf.
import urllib import urllib2 import json import sys USERNAME = 'ihr_Benutzername' API_KEY = 'your_api_key' data = 'login': USERNAME, 'apiKey': API_KEY, 'longUrl': sys.argv [1] querystring = urllib.urlencode ( data) url = 'https: //api-ssl.bitly.com/v3/shorten?% s'% querystring request = urllib2.Request (url) antwort = urllib2.urlopen (request) nachricht = json.loads (antwort. read ()) Nachricht drucken ['data'] ['url']
Um unseren Service zu testen, müssen wir eine weitere Aktion direkt vor dem hinzufügen Führen Sie das Shell-Skript aus Aktion. Diese neue Aktion fügt einfach eine statische URL in die Führen Sie das Shell-Skript aus Mit dieser Aktion können wir überprüfen, ob das Skript ordnungsgemäß funktioniert. Fügen wir diese neue Aktion jetzt hinzu.
Suchen Sie schnell nach Bestimmten Text abrufen Aktion und fügen Sie es Ihrem Workflow direkt über dem hinzu Führen Sie das Shell-Skript aus Aktion.
Wenn Sie die neue Aktion hinzugefügt haben, wählen Sie eine schöne lange URL aus, fügen Sie eine Kopie hinzu und fügen Sie sie in das Textfeld der neuen Aktion ein.
Jetzt können Sie Ihren Dienst testen. Klicke auf das Lauf Taste in der rechten oberen Ecke des Automator App-Symbolleiste.
Sie wissen, dass der Test abgeschlossen ist, indem Sie die Ausgabe im überprüfen Log Abschnitt von Automator Unten rechts auf der App. Im Protokollabschnitt sollten Sie neben den während des Laufs aufgetretenen Aufgaben ein paar grüne Häkchen sehen. Die letzte Aufgabe sollte hoffentlich sagen Workflow abgeschlossen. Wenn dies der Fall ist, wurde der Test ohne Fehler abgeschlossen.
Nachdem der Test abgeschlossen ist, können Sie die Ausgabe überprüfen, um sicherzustellen, dass er so funktioniert, wie Sie es erwartet haben. Klicken Sie dazu auf die Schaltfläche Ergebnisse Knopf unten links auf der Führen Sie das Shell-Skript aus Aktion. Daraufhin wird ein neuer Abschnitt angezeigt, der die Ausgabe der Aktion enthält. Wenn Sie dort eine gut gekürzte bit.ly-URL sehen, wissen Sie, dass der Dienst ordnungsgemäß funktioniert.
Wenn Ihre Tests abgeschlossen sind und Ihr Service ordnungsgemäß funktioniert, können Sie den Service bereitstellen. Mit anderen Worten: Sie können es allen Apps auf Ihrem Computer zur Verfügung stellen. Dazu müssen Sie lediglich den Workflow speichern und ihm einen Namen geben. Bevor wir das tun, stellen Sie sicher, dass die Bestimmten Text abrufen Aktionen, die wir zu Testzwecken zum Workflow hinzugefügt haben, stehen nicht im Weg.
Wenn wir versuchten, unseren Service zu nutzen, würde er nur die verkürzte URL der Test-URL zurückgeben, die wir in unserem letzten Abschnitt hinzugefügt haben. Der Grund dafür ist unser Bestimmten Text abrufen action wird vor unserem Code aufgerufen und ignoriert daher jegliche Eingabe (d. h. den aktuell ausgewählten Text) vollständig und sendet stattdessen einfach die URL in ihrem Textfeld in das Textfeld Führen Sie das Shell-Skript aus Aktion. Sie können die Aktion einfach entfernen, indem Sie auf klicken Bestimmten Text abrufen Aktion im Workflow und klicken Sie auf die Schaltfläche "Löschen". Was aber, wenn Sie in Zukunft Änderungen am Code vornehmen und diese Änderungen testen möchten? Nun, du könntest einfach das hinzufügen Bestimmten Text abrufen Aktion und eine Test-URL erneut, wenn die Zeit gekommen ist, oder Sie können die aktuelle beibehalten und sie vorübergehend deaktivieren. Um die Aktion zu deaktivieren, wählen Sie die Aktion im Workflow und aus Klicken Sie mit der rechten Maustaste Um das Kontextmenü anzuzeigen, wählen Sie Deaktivieren.
Sobald Sie das deaktiviert oder gelöscht haben Bestimmten Text abrufen Aktion können Sie den Dienst speichern und ihm den Namen geben Ausgewählte URL kürzen-und beginnen Sie mit der Verwendung in allen anderen Anwendungen auf Ihrem System. Lassen Sie uns jetzt unseren neuen Service ausprobieren.
Um unseren neuen Service zu testen, verwenden wir die TextEdit Anwendung, da es standardmäßig auf allen Macs verfügbar ist. Mach weiter und öffne dich TextEdit und fügen Sie eine lange URL hinzu. Wählen Sie dann die URL und wählen Sie TextEdit> Dienste> Ausgewählte URL kürzen. Es sollte ungefähr eine Sekunde dauern, bis die Anforderung zum bit.ly-Dienst und wieder zurück gelangt ist. Wenn sie jedoch fertig ist, wird der ausgewählte Text durch eine neu verkürzte bit.ly-URL ersetzt.
Der letzte Schritt in der Entwicklung unseres URL-Verkürzungsservice ist optional. Grundsätzlich mache ich das Abkürzen einer URL sehr regelmäßig, und für mich ist die Verwendung einer Tastenkombination für den Dienst für mich so viel einfacher zu verwenden, als jedes Mal durch das Menü Dienste zu navigieren. Vor diesem Hintergrund fügen wir unserem neuen Service eine Tastenkombination hinzu.
Um eine Tastenkombination für unseren neuen Dienst hinzuzufügen, müssen Sie sie öffnen Systemeinstellungen und navigiere zum Tastatur Feld. Dann wählen Sie die Tastatürkürzel Tab gefolgt von der Dienstleistungen in der Liste auf der linken Seite, und blättern Sie durch die Liste der Dienste, bis Sie den neuen Dienst gefunden haben Text Sektion.
Jetzt müssen wir nur noch die eigentliche Tastenkombination hinzufügen, mit der wir unseren Service aufrufen. Klicken Sie dazu auf die Schaltfläche Verknüpfung hinzufügen und drücken Sie die von Ihnen bevorzugte Tastenkombination. Ich habe die Kombination gewählt Control-Option-Command-s für meine, aber Sie können wählen, was Sie möchten, obwohl Sie versuchen sollten, Tastenkombinationen zu vermeiden, die bereits verwendet werden.
In diesem Lernprogramm haben wir uns mit den Services, einer sehr leistungsfähigen Funktion von OS X, eingehend beschäftigt. Wir haben gelernt, was Services sind und wie sie erstellt werden Unsere eigenen, die wir verwenden können, um lange URLs mit bit.ly zu verkürzen. Die einzige Frage, die bleibt, ist "was als nächstes?"
Haben Sie Ideen für Nachrichtendienste, die Sie erstellen möchten? Haben Sie in der Vergangenheit welche erstellt? Teilen Sie Ihre Ideen und Ihren Code in den Kommentaren unten mit!