Автоматически открывать файлы ICS в Календаре Google

12

Многие веб-сайты имеют возможность экспортировать события в виде файла ICS, который затем можно импортировать в настольный или веб-календарь (например, если вы приглашены на мероприятие Facebook, там будет кнопка экспорта, которая дает вам ICS файл).

По умолчанию в Firefox 3.5 в Vista мне предлагается только три варианта: «Открыть с помощью календаря Windows», «Открыть с помощью других» или «Сохранить файл», поэтому я должен сохранить файл на моем компьютере и войти в систему. в Google Calendar и импортируйте этот файл ICS.

Мне бы хотелось, чтобы у меня была опция типа «Открыть с помощью Google Calendar» или «Импортировать в Google Calendar» при нажатии на ссылку «Экспорт».

Я знаю, что вы можете настроить Firefox для отправки mailto:ссылок в GMail , и у меня установлено расширение Operator , которое обнаруживает записи микроформатов hCalendar, встроенные в текст, и предлагает импортировать их в Календарь Google, но я не могу понять, как это сделать. настройте любой из них, чтобы сделать то, что мне нужно.

Желательно, чтобы я делал это без установки какого-либо дополнительного программного обеспечения и таким образом, чтобы он работал с учетной записью Служб Google (но если кто-то может указать на решение для обычного Календаря Google, это было бы хорошим началом).

GAThrawn
источник
Я тоже заинтересован в этом. Вы искали userscripts.org? lifehacker.com?
Capi Etheriel

Ответы:

3

Я нашел окончательное решение для этого! Я основал его на коде для добавления Gmail в качестве обработчика mailto: и адаптировал его, используя информацию, взятую из файла настроек Google Chrome:

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

Чтобы использовать его, просто зайдите в Календарь Google, откройте веб-консоль Firefox (Ctrl + Shift + K) и вставьте ее в поле кода.

F-Lambda
источник
Бриллиант, то, на что я надеялся, кажется, делает все, что должно, и все так просто!
GAThrawn
4
Я получаю следующую ошибку при запуске команды. Permission denied to add https://www.google.com/calendar/render?cid=%s as a content or protocol handler
tatsuhirosatou
Не работает в FF 30 в Ubuntu, поскольку это файл VCS / ICS.
Гаурав Кумар
@tatsuhirosatou запустить его с google.com
Хороший человек
2
Это все еще работает, и даже сохраняется в вашем профиле пользователя, но URL изменился. Теперь вам нужно войти javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/render?cid=%s","Google Calendar");. Как сказал Good Person выше, это будет работать только при запуске с вкладки, на которую загружен calendar.google.com!
Artfunkel
1

Я создал небольшое приложение .NET, чтобы сделать это. Если вы связываете расширение .ics с этим приложением, то всякий раз, когда вы дважды щелкаете файл .ics или щелкаете ссылку на него, это приложение импортирует его в настраиваемый вами календарь Google и работает с доменами, размещенными в Google.

Я знаю, что вы предпочитаете решение «без программного обеспечения», но, возможно, оно вам пригодится.

Он доступен по адресу: http://gcalicsimporter.codeplex.com/ .

Алехандро Мескуа
источник
1
Благодарность! Но я не использую .NET и не знаю достаточно .NET, чтобы быстро понять базовый подход. Вы открываете URL календаря Google, используя какой-то API? Можете ли вы указать соответствующий API-интерфейс Google Calendar, который вы используете, или что-то еще, чтобы мы могли реализовать его на других платформах?
nealmcb
Chrome не позволяет загружать этот файл, поскольку он «опасен». Прошло уже десять лет, как этот вопрос уже возник, и это совершенно глупо, потому что нет простого способа сделать двойной щелчок мышью на файле ics, автоматически добавляемом в календарь Google.
Джеймс Бауэри
1

iCalendar не является микроформатом, поэтому я боюсь, что здесь вам не поможет Оператор. Так что для этого вам понадобится отдельное расширение Firefox или вспомогательное приложение. Я не знаю, что существует, и Google не помог, когда я искал. Похоже, хорошая возможность развития.

Обходной путь: сохраните файл .ics на диск, а затем создайте черновик электронного письма в Gmail. Назовите это как угодно, прикрепите файл .ics. Сохраните его и перейдите к представлению Черновики. Теперь вы должны увидеть значок календаря справа от созданного черновика электронного письма. Нажмите, чтобы добавить событие в Календарь Google. Просто, а?

Обновление: я бы пошел с .NET-решением Алехандро, если бы у вас была такая возможность.

dschwarz
источник
2
Ваш обходной путь на самом деле звучит сложнее, чем обычное сохранение ICS-файла на диск, а затем нажмите кнопку «Импорт календаря» в Календаре Google! Странно, вы думаете, что это было бы чем-то, что было бы раздражено многими людьми! Интересно, можно ли это сделать с помощью скрипта Greasemonky?
GAThrawn