To mnie denerwowało przez wieki. Mam dwa rozwiązania poniżej. Jeden, który pozwoli Ci łatwo uruchomić spotkanie ze zdarzenia iCal, a drugi aktualizuje wydarzenie iCal o szczegóły spotkania.
- Załóż Automator aplikacji typu
- dodać elementy "GetSpecified poszukiwacza kroku
- Dodaj etap A 'uruchamianie skryptów powłoki' (zmiany blok Shell Script zaakceptować wejście "jako argumenty")
Skopiuj ten w polu tekstowym:
read url <<< $(cat "$1" | sed "s/$(printf '\r')\$//" | awk -F':' '/X-GOOGLE-HANGOUT/ {first = $2":"$3; getline rest; print (first)(substr(rest,2)); exit 1}';)
open "$url"
- zapisać aplikację i dodać do doku
Teraz będzie można po prostu przeciągnąć zdarzenie do elementu dokowania, a następnie przeanalizować plik .ics i uruchomić Hangout w domyślnej przeglądarce.
UPDATE: Rozszerzony wyżej zaktualizować wpis w kalendarzu, aby dodać Hangout jako URL w przypadku:
- Utwórz Automator aplikacji typu
- dodać elementy 'GetSpecified poszukiwacza' krok
- Dodaj krok "Uruchom skorupę powłoki" (zmień blok skryptu powłoki, aby zaakceptować dane wejściowe "jako argumenty")
Skopiuj następujące wyrażenie do pola tekstowego:
read url <<< $(cat "$1" | sed "s/$(printf '\r')\$//" | awk -F':' '/X-GOOGLE-HANGOUT/ {first = $2":"$3; getline rest; print (first)(substr(rest,2)); exit 1}';)
read uid <<< $(cat "$1" | sed "s/$(printf '\r')\$//" | awk -F':' '/UID/ {print $2; exit 1}';)
echo "$url"
echo "$uid"
- Dodaj etap typu „Uruchom firmy Apple Skrypt”
Skopiuj ten w polu zastępując „myCalendar” z nazwą swojego kalendarza:
on run {input, parameters}
set myURL to input's item 1
set myUID to input's item 2
set myCal to "myCalendar"
tell application "Calendar"
tell calendar myCal
set theEvent to first event whose uid = myUID
set (url of theEvent) to myURL
end tell
end tell
return input
end run
- Zapisz aplikację i dodać do Twoja stacja dokująca:
Teraz po przeciągnięciu wydarzenia na ikonę stacji dokujowej zaktualizuje wydarzenie, dodając URL spotkania do wydarzenia.
Biorąc powyższe jako początek byłoby dobrze, gdyby ktoś chciał zrobić zaplanowaną aktualizację przetwarzania wsadowego całego kalendarza, który działa codziennie rano powiedzieć ...
Właśnie to działało. Musiałem zmienić blok Shell Script, aby zaakceptować dane wejściowe "As Arguments", gdzie domyślnie ustawiono "As Stdin". – Yeraze
Dzięki @ Yeraze - Miałem ten zestaw w moim automacie, ale przegapiłem go w powyższej instrukcji - zaktualizowałem, aby wywołać to teraz. – nempnett
Czy kiedykolwiek miałeś szczęście przy masowym przetwarzaniu? Próbowałem używać nowych funkcji automatyzacji do "Przetwarzania wsadowego", ale nie działało. Łatwo jest wykonać zadanie automatyzacji, aby pobrać wszystkie dzisiejsze zdarzenia, a następnie uruchomić inny przepływ pracy dla każdego z nich. Po prostu nie mogłem wymyślić, jak przekazać dane w sposób, jakiego oczekujesz (rzeczy z Terminalu awk). – Yeraze