Tautan untuk menambahkan ke kalender Google

115

Saya tidak jelas tentang format yang tepat untuk memiliki tautan di situs web yang akan menambahkan satu acara ke kalender Google pengguna. Saya melihat eventbrite telah melakukannya di sini, tetapi saya ingin beberapa spesifikasi yang jelas atau tautan ke arah yang benar

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

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

Hasil bagi
sumber
1
Lihat juga pertanyaan dan jawaban ini: stackoverflow.com/q/22757908
Denilson Sá Maia
1
Referensi cara mengubah tanggal ke format yang diperlukan dalam komentar di bawah ini: stackoverflow.com/questions/10488831/… (butuh beberapa saat untuk memperhatikan komentar)
Elijah Lofgren

Jawaban:

231

Berikut ini contoh tautan yang dapat Anda gunakan untuk melihat formatnya:

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 & output = xml

Perhatikan parameter kueri utama:

text
dates
details
location

Berikut contoh lainnya (diambil dari 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>

Berikut formulir yang akan membantu Anda membuat tautan seperti itu jika Anda mau (disebutkan dalam jawaban sebelumnya):

https://support.google.com/calendar/answer/3033039 Edit: Tautan ini tidak lagi memberi Anda formulir yang dapat Anda gunakan

Pengguna
sumber
29
Perhatikan, Anda juga dapat menentukan parameter zona waktu, misalnya:ctz=America/New_York
Pengguna
23
Untuk mengonversi ke format datetime:(new Date()).toISOString().replace(/-|:|\.\d\d\d/g,"");
Trantor Liu
7
Tautan di atas bagus untuk desktop. Untuk seluler, url serupa adalah calendar.google.com/calendar/gp#~calendar:view=e&bm=1 dan parameternya sama.
Supreet Sethi
7
Anda dapat menemukan daftar lengkap nilai CTZ di Daftar zona waktu database tz
Marco Lackovic
6
@ IvánSánchez terlambat membalas tetapi, 'Z' di akhir parameter 'tanggal' akan menyetel waktu yang setara di UTC - jadi kemungkinan akan salah untuk zona waktu Anda. Jatuhkan 'Z' di akhir setiap tanggal dan Anda akan menemukan waktu muncul di zona yang tepat. dates=20140127T224000/20140320T221500
Jarvis Johnson
5

Saya juga telah berhasil dengan struktur URL ini:

URL Dasar:

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

Dan katakanlah ini adalah detail acara saya:

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)

Saya akan mengubah detail saya menjadi parameter ini (URL dikodekan):

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

Contoh link:

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% 20Beberapa% 20Place% 2C% 20Kota & tanggal = 20200222T100000 / 20200222T113000 & ctz = Amerika% 2FNew_York

Harap dicatat bahwa karena saya telah menentukan zona waktu dengan parameter "ctz", saya menggunakan waktu lokal untuk tanggal mulai dan akhir. Alternatifnya, Anda dapat menggunakan tanggal UTC dan mengecualikan parameter zona waktu, seperti ini:

dates=20200222T150000Z/20200222T163000Z

Contoh link:

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% 20Beberapa% 20Place% 2C% 20Kota & tanggal = 20200222T150000Z / 20200222T163000Z

Tessa
sumber
2

Untuk orang berikutnya yang mencari topik ini di Google, saya telah menulis paket NPM kecil untuk mempermudah pembuatan URL Kalender Google. Ini termasuk definisi tipe TypeScript, bagi mereka yang membutuhkannya. Semoga membantu!

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

Mikael Lirbank
sumber