it-swarm.dev

Календарь Google как обработчик веб-протокола по умолчанию для файлов iCal / ICS

Мне бы хотелось, чтобы в Календаре Google открывались URI со схемой Webcal (wikipedia) (доставка файлов ICS), аналогично тому, как Gmail можно установить в качестве обработчика по умолчанию для ссылок mailto: ,.

В частности, я хотел бы, чтобы Календарь Google импортировал их в мой основной календарь. (Вы можете вручную импортировать файл ICS в Календарь Google, нажав стрелку рядом с надписью Другие календари, выбрав Импортировать календарь из раскрывающегося списка, перейдя к файлу .ICS и выбрав Импорт.)

Я не знаю, возможно ли это, но я надеюсь, что у кого-нибудь будет отличная идея.

19
Rasmus

Хром

Браузер Chromium предлагает эту опцию при первом входе в Календарь Google:

Google Calendar in Chromium browser offers to handle webcal protocols

Если вы случайно ответили No на этот вопрос, вы можете нажать кнопку панели инструментов Wrench и перейти к Settings. Нажмите Show advanced settings, найдите Content settings... (сразу после заголовка Privacy) и найдите кнопку Manage handlers. Нажмите X рядом с игнорируемым протоколом, который вы хотите удалить. Кроме того, вы можете ввести поле поиска protocol handlers в настройках Chromium. См. Скриншот ниже.

Undo ignore protocol handler in Chromium browser

Fire Fox

Я нашел это сообщение на stackexchange , которое объясняет, как добиться того же в Firefox, но это не работает для меня на Firefox 12 и 15: это работает для меня, если я отключаю опцию Никогда не сохранять историю (режим приватного просмотра):

Перейдите на сайт Календаря Google и нажмите Ctrl+Shift+K.

Вставьте это после знака>:

navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");

Нажмите клавишу ввода и нажмите кнопку Add application, которая должна появиться под панелью инструментов.

Firefox console

Firefox accept protocol hanlder

Возможно, вам придется переключить параметр gecko.handlerService.allowRegisterFromDifferentHost в about:config на true, прежде чем пытаться это сделать (если Google перенаправляет вас на локальный домен Google). Не забудьте вернуть значение false после вызова функции registerProtocolHandler, поскольку вредоносные сайты могут использовать это. Смотрите подробности здесь .

14
jeremija

В более новых версиях Chromium/Chrome вам необходимо войти в календарь Google и щелкнуть значок с ромбами в адресной строке.

Screenshot

Выберите "Использовать Календарь Google", затем нажмите "Готово". Это зарегистрирует календарь Google в качестве обработчика веб-ссылок.

Замечания:
Возможно, вам потребуется настроить Chromium, чтобы сайты стали обработчиками протокола по умолчанию. Вы можете сделать это через:

  1. Расширенные настройки -> Конфиденциальность, Настройки контента -> Обработчики
  2. Выберите "Разрешить сайтам запрашивать статус обработчиков протоколов по умолчанию"
15
peonicles

Поскольку я столкнулся с тем же вопросом, что и ОП, и после опубликования принятого ответа все изменилось, я решил поделиться своими выводами. Следующие инструкции в основном предназначены для Firefox, но, кроме небольших различий, они должны работать и в Chrome.

[2019-03-08] Обновление: отражает новое поведение Firefox

Потому что используя

    javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/r?cid=%s","Google Calendar");

в консоли Firefox приводит к

SecurityError: В доступе отказано в добавлении https://www.google.com/calendar/render?cid=%s в качестве обработчика протокола

в настоящее время, вот новый способ все еще "сделать это":

  1. Перейдите к about:config, подтверждая риск, нажав кнопку.
  2. Введите webcalname__, фильтруя список по элементам типа gecko.handlerService.schemes.webcal.[...].
  3. Нажмите на Edit Кнопка справа от выбранного элемента [...].name (поскольку 30 ящиков было отказались от Firefox 67 , я выбрал [...].0.name)
  4. Введите желаемое имя, e. г. Google Calendar и нажмите Save,.
  5. Нажмите на Edit кнопка вашего соответствующего элемента [...].uriTemplate, т.е. е. тот, что чуть ниже вашего отредактированного.
  6. Вставьте URL https://calendar.google.com/calendar/r?cid=%s и нажмите Save,.
  7. Перейдите к параметрам Firefox для связанных приложений, последовательно нажимая ⚙ Options⚙ General пункты меню, а затем прокрутите вниз до ApplicationsNAME _ абзаца.
  8. Найдите в списке webcalname__, введя его в поле поиска прямо над списком или с помощью прокрутки.
  9. Щелкните раскрывающийся список в правой части записи и выберите Use Google Calendar (или любое другое имя, выбранное вами в инструкции № 4).

Тестовые календари: https://www.webcal.fi/en/calendars.php

НТН. Если нет, просто оставьте комментарий ниже.

0
Yoda