Con este truco, podrás crear este Servicio y aprovechar su resultado en cualquier parte del sistema o entre aplicaciones, pero para aquellos mas avezados con Automator podrán ver como se realiza esta acción para poder incluirla en otras acciones, Servicios y flujos de trabajo que tengan.
Para empezar, abriremos Automator, que está en la carpeta Aplicaciones. Una vez abierto, solicitaremos, en la ventana inicial, un “Servicio”. Configuraremos el servicio indicando, en el módulo inicial, que debe llevar seleccionado en los menús desplegables:
“El servicio recible la selección de direcciones URL en cualquier aplicación” con la casilla “Reemplaza el texto seleccionado marcada.
Ahora añadiremos, desde la barra lateral, la opción Ejecutar Applescript y añadiremos este script al cuadro de texto, reemplazando lo que nos viene por defecto:
set dlstring to ((path to temporary items folder as string) & “shortURL.html”)
tell application “URL Access Scripting”
download (“http://bit.ly/api?url=” & (item 1 of the input)) to dlstring replacing yes
end tell
set x to open for access dlstring
set aurl to read x
close access x
return aurl
end run
El Applescript está preparado para usar el servicio de Bit.ly, pero es posible invocar las APIS de otros servicios modificando la llamada que hace al sistema acortador. Generalmente el formato de la API de muchos de estos servicios es http://short.url/api?url=http://website.com/
pero deberás consultar la documentación de la API para obtener la sintaxis correcta.
Guarda el servicio como “acortador URL” por ejemplo, y podrás invocar el servicio desde el menú contextual para acortar los enlaces allí cuando lo necesites.
Fuente: Mac OS X Hints
Pues el de hints.macworld me daba algún problema, además he añadido que lo lleve al portapapeles (y haga un beep para saber que ha terminado)…
Mi versión:
on run {input, parameters}
set dlstring to ((path to temporary items folder as string) & “shortURL.html”)
tell application “URL Access Scripting”
download (“http://bit.ly/api.php?url=” & (item 1 of the input)) to dlstring replacing yes
end tell
set x to open for access dlstring
set the clipboard to (read x)
close access x
beep
end run