Посилання, яке потрібно додати до календаря Google


115

Мені незрозуміло, в якому точному форматі є посилання на веб-сайт, який додасть одну подію до календаря користувачів Google. Я бачу, що eventbrite зробив це тут, але мені б хотілося чітких специфікацій або посилань у правильному напрямку

http://www.eventbrite.com/event/1289487893

http://screencast.com/t/6vvh1khS


1
Дивіться також це запитання та відповіді: stackoverflow.com/q/22757908
Denilson Sá Maia

1
Про те, як перетворити дату в потрібний формат, перегляньте нижче в цьому коментарі: stackoverflow.com/questions/10488831/… (у мене знадобився час, щоб помітити коментар)
Ілля Лофгрен

Відповіді:


231

Ось приклад посилання, яке ви можете використовувати для перегляду формату:

https://www.google.com/calendar/render?action=TEMPLATE&text=Your+Event+Name&dates=20140127T224000Z/20140320T221500Z&details=For+details,+link+here:+http://www.example.com&location=Waldorf+ Astoria, + 301 + Park + Ave +, + New + York, + NY + 10022 & sf = true та вихід = xml

Зверніть увагу на ключові параметри запиту:

text
dates
details
location

Ось ще один приклад (взято з http://wordpress.org/support/topic/direct-link-to-add-specific-google-calendar-event ):

<a href="http://www.google.com/calendar/render?
action=TEMPLATE
&text=[event-title]
&dates=[start-custom format='Ymd\\THi00\\Z']/[end-custom format='Ymd\\THi00\\Z']
&details=[description]
&location=[location]
&trp=false
&sprop=
&sprop=name:"
target="_blank" rel="nofollow">Add to my calendar</a>

Ось форма, яка допоможе вам створити таке посилання, якщо ви хочете (згадано у попередніх відповідях):

https://support.google.com/calendar/answer/3033039 Редагувати: це посилання більше не дає форми, яку ви можете використовувати


29
Зауважте, ви також можете вказати параметр часового поясу, наприклад:ctz=America/New_York
Користувач

23
Для конвертації у формат дати:(new Date()).toISOString().replace(/-|:|\.\d\d\d/g,"");
Трентор Лю

7
Посилання вгорі добре для робочого столу. Для мобільних пристроїв подібним URL-адресом є календар.google.com/calendar/ gp#~ calendar: view=e& bm=1, а параметри однакові.
Supreet Sethi

7
Повний список значень
CTZ

6
@ IvánSánchez пізня відповідь, але "Z" в кінці параметри "дати" встановить еквівалентний час у UTC - тому, ймовірно, буде неправильним для вашого часового поясу. У кінці кожної дати киньте "Z", і ви знайдете час у правій зоні. dates=20140127T224000/20140320T221500
Джарвіс Джонсон


5

Я також мав успіх у такій структурі URL:

Базова URL-адреса:

https://calendar.google.com/calendar/r/eventedit?

Скажімо, це мої подробиці події:

Title: Event Title
Description: Example of some description. See more at /programming/10488831/link-to-add-to-google-calendar
Location: 123 Some Place
Date: February 22, 2020
Start Time: 10:00am
End Time: 11:30am
Timezone: America/New York (GMT -5)

Я перетворив би мої реквізити в ці параметри (кодований URL):

text=Event%20Title
details=Example%20of%20some%20description.%20See%20more%20at%20https%3A%2F%2Fstackoverflow.com%2Fquestions%2F10488831%2Flink-to-add-to-google-calendar
location=123%20Some%20Place%2C%20City
dates=20200222T100000/20200222T113000
ctz=America%2FNew_York

Приклад посилання:

https://calendar.google.com/calendar/r/eventedit?text=Event%20Title&details=Example%20of%20some%20description.%20See%20more%20at%20https%3A%2F%2Fstackoverflow.com%2Fquestions%2F10488831 % 2Flink-to-add-to-google-Calendar & location = 123% 20Деякий% 20Зміст% 2C% 20City & дати = 20200222T100000 / 20200222T113000 & ctz = America% 2FNew_York

Зауважте, що оскільки я вказав часовий пояс із параметром "ctz", я використовував місцеві часи для дати початку та кінця. Крім того, ви можете використовувати дати UTC та виключати параметр часового поясу, наприклад, такий:

dates=20200222T150000Z/20200222T163000Z

Приклад посилання:

https://calendar.google.com/calendar/r/eventedit?text=Event%20Title&details=Example%20of%20some%20description.%20See%20more%20at%20https%3A%2F%2Fstackoverflow.com%2Fquestions%2F10488831 % 2Flink-to-add-to-google-Calendar & location = 123% 20Често% 20Місце% 2C% 20City & дати = 20200222T150000Z / 20200222T163000Z


2

Для наступної особи, яка гугла в цій темі, я написав невеликий пакет NPM, щоб спростити генерування URL-адрес календаря Google. Він включає визначення типу TypeScript для тих, хто цього потребує. Сподіваюся, це допомагає!

https://www.npmjs.com/package/google-calendar-url

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.