Si vous avez utilisé un Mac pendant un certain temps, vous avez sans doute déjà rencontré le menu des services, et vous vous êtes probablement demandé "à quoi sert exactement ce menu?" Eh bien, dans ce tutoriel, nous allons déchiffrer le mystère du menu des services, et nous verrons à quel point des services peuvent être utiles en créant l'un des nôtres que nous pourrons utiliser chaque fois que nous aurons besoin de remplacer une longue URL disgracieuse avec une raccourcie.
En bref, les services permettent aux applications de votre ordinateur de partager des fonctionnalités entre elles. Par exemple, l’application Mail standard offre à vos autres applications la possibilité de créer de nouveaux messages électroniques ou de nouvelles notes en fonction du texte que vous avez sélectionné..
La beauté des services réside dans le fait qu’elles permettent aux applications de se concentrer sur ce qu’elles font le mieux en supprimant l’obligation de fournir des fonctionnalités vaguement connexes que d’autres applications fournissent déjà..
En plus de permettre à vos applications de partager des fonctionnalités les unes avec les autres, vous pouvez également créer vos propres services. Si vous êtes un junky en ligne de commande, vous comprenez le pouvoir des services, car ils vous permettent essentiellement de créer des scripts contextuels pour vos applications fenêtrées. Nous en verrons un exemple en écrivant un de nos propres services. Le service que nous allons écrire dans ce didacticiel vous permettra de sélectionner une URL dans toute application permettant l'édition de texte et de la convertir en une URL raccourcie grâce au service de raccourcissement d'URL de bit.ly sans jamais quitter l'application que vous êtes actuellement dans ou en touchant une fenêtre de navigateur.
Avant de pouvoir commencer à utiliser notre service, nous devons faire une petite configuration. Afin de pouvoir utiliser bit.ly pour raccourcir une URL sélectionnée, nous devons avoir un accès développeur au service. Notre première tâche sera donc de vous inscrire à un compte de développeur bit.ly et d'obtenir notre clé API..
Pour ce faire, vous devez accéder à la page Web API Key et, si vous avez déjà un compte de développeur, vous devez simplement vous connecter..
Sinon, vous devrez créer un nouveau compte..
Une fois que vous avez fini de vous connecter ou de vous inscrire, vous serez dirigé vers une page qui vous donnera votre clé API..
Une fois que vous avez configuré votre compte de développeur et récupéré votre clé d'API, vous pouvez continuer, mais vous devez tout de même consulter la documentation de l'API pour avoir une idée de l'utilisation du service bit.ly par programmation. . Plus précisément, jetez un œil à la documentation de la méthode de raccourcissement, celle que nous utiliserons dans notre service..
Alors, maintenant que nous avons notre clé API, nous sommes prêts à créer notre nouveau service. Nous allons utiliser Automator pour créer notre service, alors allez-y et ouvrez-le maintenant et sélectionnez Un service pour notre nouveau type de flux de travail.
Vérifier la La sortie remplace le texte sélectionné case à cocher dans la section au sommet de la zone de flux de travail. Cela garantira que l'URL sélectionnée dans notre application est remplacée par la version abrégée émise par notre service..
Maintenant que vous avez correctement configuré votre nouveau flux de travail, vous pouvez y ajouter votre première action. Faites une recherche pour le Exécuter un script shell action et faites-le glisser dans la zone de flux de travail.
Nous utiliserons Python pour écrire le script qui enverra la longue URL à bit.ly. Par défaut, un nouveau service utilise votre shell par défaut comme langage de script. Vous devez donc le modifier en sélectionnant / usr / bin / python dans le coquille la liste déroulante.
Selon vos préférences, il peut être plus facile de traiter l'entrée comme si elle était transmise à votre script sous forme d'argument de ligne de commande plutôt que de la lire à partir d'une entrée standard. Pour ce faire, vous devez sélectionner le comme arguments option du Pass entrée menu déroulant.
Une fois que vous avez tout configuré selon les instructions ci-dessus, votre Automator le flux de travail devrait aimer juste ce qui suit:
Le code de ce service est relativement simple. Essentiellement, nous ne faisons que construire une URL avec notre nom d'utilisateur, notre clé API et une URL longue, envoyer une demande à cette URL et renvoyer l'URL raccourcie dans la réponse. Si vous avez une expérience de la programmation, vous ne devriez rencontrer aucun problème en suivant les étapes décrites ci-dessous. Si vous n'êtes pas un programmeur expérimenté, mais que vous souhaitez en apprendre un peu, alors les explications suivantes devraient vous intéresser. Si, toutefois, vous souhaitez simplement créer le service sans vous soucier des détails, vous pouvez passer directement à Le code source complet section ci-dessous et il suffit de copier et coller le code dans le Exécuter un script shell action à votre service.
Nous devons d’abord importer le urllib
et urllib2
modules. Ils seront utilisés pour coder correctement les données que nous envoyons au service bit.ly et pour envoyer la demande elle-même. Nous devrons également importer le JSON
paquet pour transformer la réponse, nous revenons dans un dict Python. Enfin, nous devrons importer le sys
package pour nous donner accès aux arguments de la ligne de commande. Ce dernier module est nécessaire car nous avons choisi de passer l’entrée en argument lorsque nous avons ajouté le Exécuter un script shell action.
importer urllib2 importer urllib importer json import sys
Dans cette étape, nous allons créer la charge utile (c'est-à-dire les données) dont nous avons besoin pour demander l'URL raccourcie. Pour commencer, nous allons ajouter deux constantes pour contenir le nom d'utilisateur du compte développeur bit.ly et la clé API que nous avons générés dans la première partie de ce didacticiel. Ensuite, nous allons créer la charge utile (c'est-à-dire les données) pour la demande. Pour ce faire, nous créons un dict simple avec trois paires clé / valeur. Les deux premiers seront notre nom d'utilisateur et notre clé API et le troisième sera l'URL que nous souhaitons raccourcir, ce que nous allons extraire de la liste des arguments de ligne de commande..
USERNAME = 'you_username' API_KEY = 'your_api_key' charge de travail = 'login': USERNAME, 'apiKey': API_KEY, 'longUrl': sys.argv [1]
Une fois que nous avons notre charge utile, nous devons construire l'URL de la demande. Nous devrons d’abord coder l’URL sur nos données utiles, car elles iront dans la chaîne de requête de la requête, puis les concaténer sur le noeud final (c’est-à-dire une URL) pour la méthode bit.ly shorten..
querystring = urllib.urlencode (data) url = 'https: //api-ssl.bitly.com/v3/shorten?% s'% querystring
Maintenant que nous avons l'URL complète, nous sommes prêts à demander la version abrégée. Nous créons d’abord un objet Request avec l’URL créée précédemment. Ensuite, nous faisons la demande et récupérons les données du service. Les données seront renvoyées en JSON, nous devrons donc les traduire en dict python à l'aide du module json.
request = urllib2.Request (url) response = urllib2.urlopen (demande) message = json.loads (response.read ())
Une fois les données extraites et analysées dans un dict Python, il ne reste plus qu’à extraire l’URL raccourcie du dict et à le renvoyer. Pour renvoyer l'URL, nous l'imprimons simplement.
message d'impression ['data'] ['url']
Le code source complet du service est répertorié ci-dessous, vous pouvez donc simplement le copier et le coller dans le répertoire. Exécuter un script shell action dans votre Automator flux de travail.
import urllib import urllib2 import json import sys USERNAME = 'votre_username' API_KEY = 'votre_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) response = urllib2.urlopen (demande) message = json.loads (réponse. read ()) affiche le message ['data'] ['url']
Pour tester notre service, nous devrons ajouter une autre action juste avant le Exécuter un script shell action. Cette nouvelle action introduira simplement une URL statique dans le Exécuter un script shell action nous permettant de vérifier que le script fonctionne correctement. Ajoutons cette nouvelle action maintenant.
Faites une recherche rapide pour le Obtenir le texte spécifié action et l'ajouter à votre flux de travail juste au-dessus de la Exécuter un script shell action.
Une fois que vous avez ajouté la nouvelle action, choisissez une URL longue et agréable, ajoutez une copie et collez-la dans la zone de texte de la nouvelle action..
Maintenant, vous êtes prêt à tester votre service. Clique sur le Courir bouton en haut à droite de la Automator barre d'outils de l'application.
Vous saurez que le test est terminé en vérifiant la sortie dans le Bûche section de Automator en bas, à droite de l'application. Dans la section du journal, vous devriez voir une poignée de coches vertes à côté des tâches qui se sont déroulées au cours de l’exécution. J'espère que la dernière des tâches devrait être Flux de travail terminé. Si c'est le cas, le test est terminé sans échec.
Maintenant que le test est terminé, vous pouvez vérifier son résultat pour vous assurer qu'il a fonctionné comme prévu. Pour ce faire, cliquez sur le bouton Résultats bouton en bas à gauche de la Exécuter un script shell action. Cela révélera une nouvelle section contenant le résultat de l'action. Si vous voyez une URL bit.ly bien raccourcie, vous savez que le service fonctionne correctement..
Vos tests étant terminés et votre service fonctionnant correctement, vous êtes maintenant prêt à déployer le service. En d'autres termes, vous êtes prêt à le rendre disponible pour toutes les applications de votre ordinateur. Pour ce faire, il vous suffit de sauvegarder le flux de travail et de lui donner un nom, mais avant cela, assurons-nous que le Obtenir le texte spécifié l'action que nous avons ajoutée au flux de travail à des fins de test ne nous empêche pas.
À partir de maintenant, si nous essayions d'utiliser notre service, il ne renverrait que l'URL abrégée de l'URL de test que nous avons ajoutée dans notre dernière section. La raison en est que notre Obtenir le texte spécifié action est appelée avant notre code, elle ignore donc toutes les entrées que nous lui donnons (c'est-à-dire le texte actuellement sélectionné) et envoie simplement l'URL de sa zone de texte dans le champ. Exécuter un script shell action. Vous pouvez simplement supprimer l’action si vous le souhaitez en cliquant sur le bouton Obtenir le texte spécifié action dans le flux de travail et en appuyant sur le bouton de suppression. Mais que se passe-t-il si vous apportez des modifications au code à l’avenir et que vous souhaitez tester ces modifications? Eh bien, vous pouvez simplement ajouter le Obtenir le texte spécifié action et une URL de test à nouveau le moment venu, ou vous pouvez conserver celle que nous avons actuellement et la désactiver pour le moment. Pour désactiver l'action, sélectionnez l'action dans le flux de travail et Ctrl-clic pour afficher le menu contextuel, puis sélectionnez Désactiver.
Une fois que vous avez désactivé ou supprimé le Obtenir le texte spécifié action, vous pouvez enregistrer le service-lui donner le nom Raccourcir l'URL sélectionnée-et commencez à l’utiliser dans toutes les autres applications de votre système. Essayons maintenant notre nouveau service.
Pour tester notre nouveau service, nous allons utiliser le TextEdit application car il est livré en standard sur tous les Mac. Allez-y et ouvrez TextEdit et ajoutez-y une longue URL. Puis sélectionnez l'URL et sélectionnez TextEdit> Services> Raccourcir l'URL sélectionnée. Cela devrait prendre environ une seconde pour que la requête parvienne au service bit.ly et vice-versa, mais une fois terminée, le texte sélectionné sera remplacé par une URL bit.ly récemment raccourcie..
La dernière étape du développement de notre service de réduction d’URL est facultative. En gros, raccourcir une URL est quelque chose que je fais très régulièrement et, pour moi au moins, avoir un raccourci clavier associé au service le rend beaucoup plus facile à utiliser que de naviguer dans le menu Services à chaque fois. En gardant à l'esprit, nous allons ajouter un raccourci clavier à notre nouveau service.
Pour ajouter un raccourci clavier à notre nouveau service, vous devez ouvrir Préférences de système et naviguer vers le Clavier vitre. Puis sélectionnez le Raccourcis clavier onglet suivi du Prestations de service élément de la liste de gauche et faites défiler la liste des services jusqu’à ce que vous trouviez le nouveau service; vous devriez le trouver dans Texte section.
Nous devons maintenant ajouter la combinaison de touches que nous utiliserons pour appeler notre service. Pour ce faire, cliquez sur le bouton ajouter un raccourci et appuyez sur la combinaison de touches que vous préférez. J'ai choisi la combinaison Ctrl-Option-Commande-s pour le mien, mais vous pouvez choisir ce que vous voulez, mais vous devriez essayer d'éviter les combinaisons de touches déjà utilisées.
Dans ce didacticiel, nous avons examiné en détail les services, une fonctionnalité très puissante d’OS X. Nous avons appris ce que sont les services et comment les créer. Au cours de ce didacticiel, nous avons créé l’un des notre propre que nous pouvons utiliser pour raccourcir les longues URL en utilisant bit.ly. La seule question qui reste est "et après?"
Avez-vous des idées de services d’information que vous souhaitez créer? Avez-vous créé dans le passé? Partagez vos idées et code dans les commentaires ci-dessous!