Как разрешить пользователям Календаря Google подписываться на календарь моего сайта (данные о событиях) и автоматически показывать обновления GCal


8

У меня есть сайт, который хранит и отображает данные о событиях. Я хотел бы сделать эти данные доступными для пользователей Календаря Google и позволить им подписаться на данные о событиях моего сайта. Данные о событиях могут изменяться и изменяются время от времени, поэтому импортирование пользователем файла iCal в собственный Календарь Google не является идеальным.

  1. Это возможно?

  2. Могу ли я сохранить все данные на своем сайте через URL-адрес и разрешить подписку пользователям Календаря Google?

  3. Нужно ли каким-то образом помещать данные о моем событии в «Google», а затем разрешать пользователям Календаря Google подписываться на эти данные? Если это так, мне нужно будет синхронизировать данные о событиях на моем сайте и данные "в Google", верно?

Ответы:


11

Если вы публикуете файл iCal / xCal на своем веб-сайте, ваши пользователи могут подписаться на него с помощью Календаря Google. В пользовательском интерфейсе Календаря его в Настройках-> Обзор интересных календарей-> Добавить по URL.

Это заставляет Google внутренне создавать новый календарь Google и организовывать его регулярное заполнение новыми событиями из вашего канала (не реже одного раза в 24 часа). Чтобы добавить новые события, вы просто загружаете / публикуете новую версию файла календаря.

Если попросить пользователей следовать этому методу немного, то вы можете опубликовать ссылку или кнопку «подписаться на календарь» на своем веб-сайте. Ссылка должна быть:

http://www.google.com/calendar/render?cid=http://location-of-calendar-file

Или для приложений:

http://www.google.com/calendar/hosted/somedomain.com/render?cid=http://location-of-calendar-file

Google имел обыкновение иметь эту информацию в документе поддержки, но я больше не могу найти ее :( Я могу убедиться, что этот метод работает хорошо - мы публикуем персонализированные каналы для пользователей 150K прямо сейчас.


Как раз то, что я искал!
Раффи Хачадурян

В разделе «Добавить по ссылке» указано «Примечание. Изменения могут отображаться в календаре Google до 12 часов». support.google.com/calendar/answer/…
17

Обратите внимание, что на момент написания статьи это работает только для http-URL, а не для https. Предупреждение об ошибке в Календаре Google при использовании https: «Извините. Этот адрес электронной почты не связан с активной учетной записью Календаря Google ».
Рейли Биом

1

Пока ваш календарь общедоступен, вы можете перейти к настройкам календаря и скопировать «Адрес календаря», который он предоставляет в формате XML, ICAL и HTML, и опубликовать его где-нибудь на своем сайте. Пользователи должны иметь возможность использовать этот URL-адрес непосредственно в Календаре Google, чтобы импортировать ваш URL в свой интерфейс.


1
Является ли это однократным импортом или если данные XML / ICAL / HTML изменятся, будут ли обновляться календари для пользователей, которые ссылаются на эту страницу?
slolife

После импорта, если вы обновите свой календарь, он обновится и для них. Ссылка фактически используется для добавления вашего календаря как «Другой календарь» в их интерфейс календаря Google, как если бы вы напрямую поделились им с календарем.
Брэд Гарднер

1
Это правильно, но для этого нужно, чтобы данные существовали в виде календаря Google - либо с помощью какой-либо синхронизации, либо с помощью прямого ввода.
Адам Таттл

упс! Должно быть, я пропустил ту часть, где slolife не упоминал уже с использованием Календаря Google. Адам прав, календарь Google необходим на обоих концах, чтобы он работал таким образом.
Брэд Гарднер

Поэтому, поскольку мои данные должны присутствовать в календаре Google, мне понадобится учетная запись Google для моего сайта, и мне нужно будет синхронизировать данные о событиях в календаре Google с данными на моем сайте.
Slolife
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.