Ereignisse erstellen
Wenn Sie Schreibzugriff auf den Google Kalender des Organisators haben, können Sie einen Termin mit der Methode Events: insert
hinzufügen.
Bei dieser Methode wird der Termin direkt zum Kalender des Organisators hinzugefügt, unabhängig von seiner Einstellung zum Hinzufügen von Einladungen.
Teilnehmer hinzufügen
Mit dieser Methode können Sie auch Teilnehmer zum selben Termin hinzufügen, indem Sie ihre E-Mail-Adresse in die Property attendees
des Termins einfügen. Alle zukünftigen Änderungen des Organisators werden für die Teilnehmer übernommen.
Die Teilnehmer erhalten die Einladung über die E-Mail-Adresse des Organisators. Google Kalender-Nutzer erhalten die Einladung je nach Termineinstellungen in ihren Google Kalender-Einstellungen per E-Mail und/oder in ihrem Kalender:
- Wenn sie die Einstellung
From everyone
haben, wird der Termin direkt ihrem Kalender hinzugefügt. - Wenn die Einstellung
Only if the sender is known
festgelegt ist, wird der Termin dem Kalender direkt hinzugefügt, wenn er bereits mit dem Organisator interagiert hat, sich in derselben Organisation befindet oder der Organisator in seinen Google-Kontakten aufgeführt ist. Wenn der Organisator dem Organisator nicht bekannt ist, kann er auf Ich kenne diesen Absender klicken oder die Einladung annehmen, indem er in der Einladungs-E-Mail auf Ja oder Vielleicht klickt. Dann wird der Termin in den Kalender eingetragen. - Wenn Nutzer die Einstellung
When I respond in email
verwenden, werden dem Kalender erst alle Einladungen hinzugefügt, wenn der Nutzer in der Einladungs-E-Mail auf Ja, Vielleicht oder Nein klickt.
Weitere Informationen zum Hinzufügen von Einladungen zu Google Kalender finden Sie unter Einladungen in Google Kalender verwalten.
Legen Sie für die Antwort des Gastes mit dem Attribut attendees[].responseStatus
keinen anderen Wert als needsAction
fest. Dadurch wird der Termin nicht automatisch den Kalendern der Nutzer hinzugefügt.
Termin direkt in den Kalendern der Teilnehmer anzeigen
Um einen Termin direkt in den Kalendern der Google Kalender-Teilnehmer anzuzeigen, können Sie die Antwort des Gastes festlegen oder eine Kopie des Termins direkt in den Kalender des Teilnehmers importieren. Für beide Methoden benötigen Sie Schreibzugriff auf die Kalender der Teilnehmer. Falls nicht, sollten Sie den Organisator zu den Kontakten des Teilnehmers hinzufügen. Dafür ist möglicherweise Schreibzugriff auf die Kontakte des Teilnehmers erforderlich.
Antwort des Gastes festlegen
So legen Sie die Antwort eines Teilnehmers auf einen Termin fest:
- Erstellen Sie den Termin im Kalender des Google Kalender-Organisators und fügen Sie Teilnehmer hinzu (siehe oben).
- Verwenden Sie die Methode
Events: update
, um die Antwort des Teilnehmers aufaccepted
odertentative
festzulegen. Sie benötigen Schreibzugriff auf den Kalender der Teilnehmer. Es kann etwas dauern, bis die Veranstaltung im Kalender der Teilnehmer erscheint. Weitere Informationen zur Verwendung der MethodeEvents: update
Mit dieser Methode wird der Termin dem Kalender des Teilnehmers hinzugefügt. Möglicherweise sieht der Teilnehmer jedoch weiterhin das Banner in seiner E-Mail, dass die Einladung von einer vorher unbekannten Adresse gesendet wurde.
Eine Kopie des Termins direkt in den Kalender des Teilnehmers importieren
So importieren Sie eine Kopie eines Termins in den Kalender eines Teilnehmers:
- Wenn Sie Schreibzugriff auf den Google-Kalender des Organisators haben, importieren Sie mit der Methode
Events: import
eine Kopie des Termins. - Importieren Sie mit
Events: import
eine weitere Kopie desselben Termins in den Kalender des Teilnehmers. Sie benötigen Schreibzugriff auf den Kalender des Teilnehmers. Verwenden Sie für die Kopien des Organisators und des Gastes dieselbe Termin-ID (iCalUID
). Geben Sie außerdem in der Kopie des Gastes den Organisator an.
Mit dieser Methode kann der Teilnehmer den Termin in seinem Kalender sehen, erhält aber keine Einladungs-E-Mail von Google Kalender.
Fügen Sie den Organisator zu den Kontakten des Teilnehmers hinzu.
Wenn Sie die Anmeldedaten des Gastes nicht haben, können Sie den Teilnehmer oder seine Organisation anweisen, die E-Mail-Adresse des Organisators im Voraus zu seinen Google-Kontakten hinzuzufügen, um einen Termin direkt in seinem Kalender anzuzeigen. Es kann etwas dauern, bis ein neu erstellter Kontakt wirksam wird.
- Bitten Sie den Google Kalender-Nutzer, den Organisator seinen Google-Kontakten hinzuzufügen.
- Wenn die Teilnehmer zu einer Organisation gehören, können Sie den Administrator der Organisation bitten, E-Mail-Adressen programmatisch zu den Kontakten seiner Nutzer hinzuzufügen. Bitten Sie den Administrator, die domainweite Delegierung zu aktivieren, die Identität der Nutzer zu übernehmen und mit der Methode
People: createContact
Kontakte für jeden Nutzer zu erstellen. So sorgen Sie dafür, dass zukünftige Einladungen von diesen E-Mail-Adressen automatisch in den Kalendern der Nutzer angezeigt werden. - Wenn Sie Zugriff auf die Kontakte des Gastes haben, können Sie die E-Mail-Adresse des Organisators auch mit der Methode
People: createContact
den Kontakten des Gastes hinzufügen.
Nutzer über eine E-Mail-Adresse einladen
Wenn Sie keinen Schreibzugriff auf den Google-Kalender des Organisators haben oder die E-Mail-Adresse des Organisators nicht offenlegen möchten, verwenden Sie das iCalendar-Protokoll (RFC-5545), um Nutzer mit E-Mails über eine ICS-Datei einzuladen.
Wenn der Teilnehmer ein Google Kalender-Nutzer mit der Einstellung Only if the sender
is known
ist und zuvor noch nicht mit der Adresse interagiert oder diese als ihm bekannt aufgezeichnet hat, wird die Einladung erst in seinen Kalender eingetragen, wenn er auf Ich kenne diesen Absender klickt oder auf den Termin geantwortet hat.
Geben Sie einen Link an, über den Nutzer das Ereignis hinzufügen können
Wenn Sie es Google Kalender-Nutzern erleichtern möchten, einen einmaligen Termin hinzuzufügen, ohne ihn aktuell zu halten, können Sie einen Link mit einem vorausgefüllten Termin bereitstellen, den die Nutzer selbst hinzufügen können. Mit dieser Methode wird im Kalender des Nutzers ein eindeutiges Ereignis erstellt, das nur aktualisiert werden kann, wenn Sie Zugriff auf den Kalender des Nutzers haben.
Verwenden Sie die folgende Linkvorlage:
https://calendar.google.com/calendar/r/eventedit?action=TEMPLATE&dates=20230325T224500Z%2F20230326T001500Z&stz=Europe/Brussels&etz=Europe/Brussels&details=EVENT_DESCRIPTION_HERE&location=EVENT_LOCATION_HERE&text=EVENT_TITLE_HERE
indem Sie die folgenden Informationen aktualisieren:
- Start- und Enddatum und Uhrzeit: Verwenden Sie das Format ISO 8601. Ersetzen Sie im obigen Beispiel
20230325T224500Z
und20230326T001500Z
. - Zeitzonen für Start und Ende: Verwenden Sie den Namen der IANA-Zeitzonendatenbank.
Tragen Sie die Zeitzonen in die Felder
stz
undetz
ein. - Ereignisbeschreibung: Muss URL-codiert sein.
- Ereignisspeicherort: Muss URL-codiert sein.
- Ereignistitel: Muss URL-codiert sein.
Beispiel
Sehen wir uns das Beispiel an, mit dem ein Terminbuchungsservice erstellt wird, mit dem Nutzer Termine bei einem Unternehmen buchen können. Wenn ein Nutzer einen Termin bucht, soll Ihr Dienst dem Google-Kalender des buchenden Nutzers und des Unternehmens einen Termin hinzufügen.
Für eine optimale Nutzererfahrung empfehlen wir, dass das Unternehmen Schreibzugriff auf seinen Kalender gewährt, damit du den Termin direkt dem Unternehmenskalender hinzufügen kannst (Termin erstellen) und die buchende Person zu diesem Termin einladen kannst (Teilnehmer hinzufügen). Damit der buchende Termin im Kalender sichtbar und daran erinnert wird, bitte ihn, seine E-Mails zu prüfen und direkt nach der Buchung mit Ja auf den Termin zu antworten. Nachdem sie auf die Einladung geantwortet haben, erhalten sie gemäß ihren Benachrichtigungseinstellungen Terminbenachrichtigungen von Google Kalender.
Wenn Sie den Termin direkt dem Kalender der buchenden Person hinzufügen möchten, bitten Sie die Bucher, die E-Mail-Adresse, von der sie die Einladung erhalten, zu ihren Kontakten hinzuzufügen. Alternativ können Sie die Buchungenden um Schreibzugriff auf ihren Kalender bitten, in ihrem Namen programmatisch auf Ihre Einladung zu antworten (Antwort des Gastes festlegen) und ihnen eine E-Mail-Benachrichtigung über die bestätigte Buchung zu senden.
Wenn das Unternehmen seine E-Mail-Adresse nicht offenlegen möchte, können Sie eine nutzerspezifische E-Mail-Adresse verwenden, um die Veranstaltung per E-Mail an den Organisator zu senden (Nutzer über eine E-Mail-Adresse einladen).
Ereignisweitergabe
Das folgende Diagramm erläutert die Dynamik. Zuerst erstellt Jack einen Termin in seinem primären Kalender (und ist somit Eigentümer der Kopie des Organisators). Dann lädt er den
sekundären Kalender für die Cello-Unterrichtsgruppe und Susan, die die Termineinstellung
Only if the sender is known
hat, ein. Die Kopien der Teilnehmer werden im sekundären Kalender der Cello-Unterrichtsgruppe und, wenn sie Jack kennt, in Susans Kalender erstellt. Andernfalls werden sie bei einer Antwort oder einem Hinweis darauf erstellt, dass sie Jakob kennt. Wenn Susan antwortet, wird die Änderung der Einladung an den Organisator weitergegeben und die Kopie des Organisators wird mit Susannes Antwort aktualisiert. Diese Änderungen, die an der Terminkopie des Organisators vorgenommen werden, werden dann für die anderen Teilnehmer übernommen.
Gemeinsame Ereigniseigenschaften
Der Kalender, in dem der Termin erstellt wird, ist der Kalender des Organisators. Dieser Kalender enthält die freigegebenen Termininformationen, einschließlich ID, Start- und Endzeit, Zusammenfassung und Beschreibung. Wenn diese Informationen im Organisatorkalender aktualisiert werden, werden die Änderungen auf die Kopien der Teilnehmer übertragen.
Eigenschaften für private Veranstaltungen
Nicht alle Informationen werden zwischen allen Ereigniskopien ausgetauscht. Einige Properties sind privat, z. B. Erinnerungen, colorId
, Transparenz oder die Property extendedProperties.private
. Diese Eigenschaften werden von den Einstellungen des Teilnehmers und nicht vom Kalender des Organisators gesteuert.
Gäste können auch die gemeinsamen Eigenschaften des Termins ändern. Diese Änderungen werden jedoch nur in der eigenen Kopie berücksichtigt und gehen möglicherweise verloren, wenn der Organisator eine Änderung vornimmt.
Die einzige Terminänderung, die von Teilnehmern an den Organisator zurückgeschickt wird, ist der Antwortstatus des Gastes, der im Attribut attendees[].responseStatus
gespeichert ist.