Este es el fondo:
en mi empresa, usamos Google Drive y, a menudo, tenemos que decirnos la ruta a un archivo en particular. Las rutas son largas ya que usamos muchas carpetas anidadas, por lo que es bastante aburrido y lleva mucho tiempo navegar por todo eso.
Ahora, en mi empresa anterior, usábamos un servidor afp central, por lo que la ruta era común para todos, por lo tanto, había creado un script applescript que podía obtener la ruta afp absoluta al archivo, la gente pegaba esa ruta en un correo o chat y el usuario final podía hacer clic en esa ruta que automáticamente se convertía en un enlace y el buscador se abría, seleccionando ese archivo o carpeta en particular al que conducía el enlace.
La razón por la que no puedo usar exactamente el mismo script es que la carpeta de Google Drive está en la carpeta de inicio del usuario. Entonces, si el nombre del usuario es Foo, la ruta será file:///Users/Foo/Google Drive
, mientras que para el usuario Bar, la ruta seráfile:///Users/Bar/Google Drive
Claramente, la ruta generada por el usuario Foo no funcionará para el usuario Bar
Dado que, al menos en la terminal, la ruta es file:///Users/username
igual a ~
, hice que mi secuencia de comandos generara enlaces como file:///~/Google Drive/pathToFolder
, pero no funcionan :( Al hacer clic en dicho enlace se abrirá el buscador, pero no se seleccionará el archivo o la carpeta correctos
Esto me está volviendo loco porque parece que debería funcionar, pero simplemente no funciona... ¿hay alguna otra sintaxis que deba probar? ¿Cualquier sugerencia?
¡Gracias de antemano!
Aquí está la solución. El script que genera el enlace genera una URL que comienza con una personalizada googledrive://
y luego la ruta al archivo en la carpeta de Google Drive.
Luego configuré lincastor para activar el siguiente script para las direcciones URL que comienzan congoogledrive://
on handle_url(args)
set theUnixPath to |URL_PATH| of args
set theUnixPath to (POSIX path of (path to home folder)) & "Google Drive" & theUnixPath
set theMacPath to (POSIX file theUnixPath)
#display dialog "handle url: " & theMacPath
tell application "Finder"
set theItem to item theMacPath
if (class of theItem) is folder then activate
reveal theItem
end tell
activate application "Finder"
return 1
end handle_url
El script es muy fácil, toma la URL, adjunta la ruta a la carpeta de inicio del usuario y /Google Drive/
luego usa esta ruta generada para abrir el Finder y revelar el elemento.
0942v8653
Iacopo Boccalari
0942v8653
Iacopo Boccalari
0942v8653