Это раздражало меня целую вечность. У меня есть два решения ниже. Тот, который позволит вам легко запускать видеовстречу из события iCal, другой обновляет событие iCal с подробностями видеовстречи.
- Создание Automator применения типа
- Добавить Items 'GetSpecified Finder' шаг
- Добавить стадии а 'Run Shell Script' (изменить блок Shell Script, чтобы принять ввод "в качестве аргументов")
Скопируйте следующий код в текстовое поле:
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"
- Сохраните приложение и добавьте в доке
Теперь вы можете просто перетащить событие на элемент док-станции, и он проанализирует файл .ics и запустит видеовстречу в браузере по умолчанию.
UPDATE: Extended выше, чтобы обновить запись календаря, чтобы добавить видеовстрече URL в случае:
- Создание Automator применения типа
- Добавить Items 'GetSpecified Finder' шаг
- Добавить шаг «Запустить сценарий оболочки» (измените блок «Сценарий оболочки», чтобы принять ввод «Как аргументы»)
Скопируйте следующее в текстовое поле:
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"
- Добавить шаг типа «Run компании Apple Script»
Скопируйте следующий текст в поле заменяющего «MyCalendar» с именем вашего календаря:
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
- Сохраните приложение и добавить в ваша док-станция
Теперь, когда вы перетаскиваете событие на свой значок док-станции, оно обновляет событие, добавляя URL-адрес видеовстречи к событию.
Принимая выше, в качестве начала было бы хорошо, если бы кто-то захотел сделать запланированное обновление пакетной обработки всего календаря, который проходит каждое утро сказать ...
Я просто получил это для работы. Мне пришлось изменить блок сценария оболочки, чтобы принять ввод «Как аргументы», где он по умолчанию «Как Stdin». – Yeraze
Спасибо @Yeraze - у меня был этот набор в моем автоматере, но он пропустил его в инструкциях выше - я обновился, чтобы вызывать это сейчас. – nempnett
Неужели вам повезло с массовой обработкой? Я попытался использовать новые функции автомата для выполнения «пакетной обработки», но, похоже, это не сработало. Легко сделать задачу автомата захватить все сегодняшние события, а затем запустить другой рабочий процесс для каждого из них. Просто не мог понять, как заставить его передавать данные так, как вы ожидаете (материал терминала awk). – Yeraze