Link zum Google Kalender hinzufügen

115

Ich bin mir nicht sicher, in welchem ​​Format ein Link auf einer Website angezeigt wird, der einem Google-Kalender eines Benutzers ein einzelnes Ereignis hinzufügt. Ich sehe, dass eventbrite es hier getan hat, aber ich würde einige klare Spezifikationen oder Links in die richtige Richtung lieben

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

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

Quotient
quelle
1
Siehe auch diese Frage und Antworten: stackoverflow.com/q/22757908
Denilson Sá Maia
1
Informationen zum Konvertieren des Datums in das erforderliche Format finden Sie in diesem Kommentar unten: stackoverflow.com/questions/10488831/… (es dauerte eine Weile, bis ich den Kommentar bemerkte)
Elijah Lofgren

Antworten:

231

Hier ist ein Beispiellink, über den Sie das Format anzeigen können:

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

Beachten Sie die wichtigsten Abfrageparameter:

text
dates
details
location

Hier ist ein weiteres Beispiel (entnommen aus 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>

Hier ist ein Formular, mit dem Sie einen solchen Link erstellen können, wenn Sie möchten (in früheren Antworten erwähnt):

https://support.google.com/calendar/answer/3033039 Bearbeiten: Über diesen Link erhalten Sie kein Formular mehr, das Sie verwenden können

Benutzer
quelle
29
Beachten Sie, dass Sie auch einen Zeitzonenparameter angeben können, z. B.:ctz=America/New_York
Benutzer
23
So konvertieren Sie in das Datum / Uhrzeit-Format:(new Date()).toISOString().replace(/-|:|\.\d\d\d/g,"");
Trantor Liu
7
Der obige Link ist gut für den Desktop. Für Handys ist eine ähnliche URL calendar.google.com/calendar/gp#~calendar:view=e&bm=1 und die Parameter sind dieselben.
Supreet Sethi
7
Eine vollständige Liste der CTZ-Werte finden Sie unter Liste der Zeitzonen der tz-Datenbank
Marco Lackovic
6
@ IvánSánchez späte Antwort, aber das 'Z' am Ende des 'Datums'-Parameters legt die entsprechende Zeit in UTC fest - ist also wahrscheinlich falsch für Ihre Zeitzone. Wenn Sie das 'Z' am Ende jedes Datums fallen lassen, wird die Uhrzeit in der richtigen Zone angezeigt. dates=20140127T224000/20140320T221500
Jarvis Johnson
5

Ich war auch erfolgreich mit dieser URL-Struktur:

Basis-URL:

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

Angenommen, dies sind meine Veranstaltungsdetails:

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)

Ich würde meine Daten in folgende Parameter konvertieren (URL-codiert):

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

Beispiellink:

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-Kalender & Ort = 123% 20Einige% 20Platz% 2C% 20Stadt & Datum = 20200222T100000 / 20200222T113000 & ctz = Amerika% 2FNew_York

Bitte beachten Sie, dass ich, da ich mit dem Parameter "ctz" eine Zeitzone angegeben habe, die Ortszeiten für das Start- und Enddatum verwendet habe. Alternativ können Sie UTC-Daten verwenden und den Zeitzonenparameter wie folgt ausschließen:

dates=20200222T150000Z/20200222T163000Z

Beispiellink:

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-Kalender & Ort = 123% 20Einige% 20Place% 2C% 20City & Dates = 20200222T150000Z / 20200222T163000Z

Tessa
quelle
2

Für die nächste Person, die dieses Thema googelt, habe ich ein kleines NPM-Paket geschrieben, um das Generieren von Google Kalender-URLs zu vereinfachen. Es enthält TypeScript-Typdefinitionen für diejenigen, die dies benötigen. Ich hoffe es hilft!

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

Mikael Lirbank
quelle