Nutzer zu einem Termin einladen

Ereignisse erstellen

Wenn Sie Schreibzugriff auf den Google Kalender des Organisators haben, können Sie mit der Methode Events: insert einen Termin hinzufügen.

Mit dieser Methode wird der Termin direkt dem 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 Eigenschaft attendees des Termins einfügen. Alle zukünftigen Änderungen, die der Organisator am Termin vornimmt, werden an die Teilnehmer weitergegeben.

Teilnehmer erhalten die Einladung über die E-Mail-Adresse des Organisators. Google Kalender-Nutzer erhalten die Einladung per E-Mail und/oder in ihrem Kalender, je nach den Termineinstellungen in ihren Google Kalender-Einstellungen:

  • Wenn der Nutzer die Einstellung From everyone hat, wird der Termin direkt seinem Kalender hinzugefügt.
  • Mit der Einstellung Only if the sender is known wird der Termin direkt dem Kalender hinzugefügt, wenn er bereits mit dem Organisator interagiert hat, der Organisator in derselben Organisation ist oder sich in seinen Google-Kontakten befindet. Wenn der Organisator ihm nicht bekannt ist, kann er auf Ich kenne diesen Absender klicken oder auf die Einladung antworten, indem er in der Einladungs-E-Mail auf Ja oder Vielleicht klickt. Dann wird der Termin dem Kalender hinzugefügt.
  • Wenn Nutzer die Einstellung When I respond in email haben, werden alle Einladungen erst dann ihrem Kalender hinzugefügt, wenn der Nutzer auf die Einladung geantwortet hat, indem er in der Einladungs-E-Mail auf Ja, Vielleicht oder Nein klickt.

Weitere Informationen dazu, wie Einladungen in Google Kalender hinzugefügt werden, finden Sie unter Einladungen in Google Kalender verwalten.

Legen Sie für die Antwort des Gastes mit dem Attribut attendees[].responseStatus nichts anderes als needsAction fest. Wenn Sie die Antwort des Teilnehmers vorab ausfüllen, wird der Termin nicht automatisch den Kalendern der Nutzer hinzugefügt.

Termin direkt in den Kalendern der Teilnehmer anzeigen

Wenn ein Termin für alle Einstellungen des Teilnehmers direkt in den Kalendern der Google Kalender-Teilnehmer angezeigt werden soll, können Sie die Antwort des Teilnehmers 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 den Kontakten des Teilnehmers hinzufügen. Dafür benötigen Sie möglicherweise Schreibzugriff auf die Kontakte des Teilnehmers.

Antwort des Teilnehmers festlegen

So legen Sie die Antwort eines Teilnehmers für einen Termin fest:

  1. Erstellen Sie den Termin im Kalender des Google Kalender-Organisators und fügen Sie Teilnehmer hinzu (siehe oben).
  2. Verwende die Methode Events: update, um die Antwort des Teilnehmers auf accepted oder tentative festzulegen. Sie benötigen Schreibzugriff auf den Kalender des Teilnehmers. Es kann etwas dauern, bis der Termin im Kalender des Teilnehmers angezeigt wird. Weitere Informationen zur Verwendung der Methode Events: update

Mit dieser Methode wird der Termin dem Kalender des Teilnehmers hinzugefügt. Der Teilnehmer sieht jedoch möglicherweise weiterhin das Banner in seiner E-Mail, dass die Einladung von einer E-Mail-Adresse gesendet wurde, die ihm zuvor nicht bekannt war.

Eine Kopie des Termins direkt in den Kalender des Teilnehmers importieren

So importieren Sie eine Kopie eines Termins in den Kalender eines Gasts:

  1. Wenn Sie Schreibzugriff auf den Google Kalender des Organisators haben, importieren Sie mit der Methode Events: import eine Kopie des Termins.
  2. Importieren Sie mit Events: import eine weitere Kopie desselben Termins in den Kalender des Gasts. Sie benötigen Schreibzugriff auf den Kalender des Teilnehmers. Verwenden Sie dieselbe Veranstaltungs-ID (iCalUID) für die Kopien des Organisators und des Gasts und geben Sie den Organisator in der Kopie des Gasts an.

Mit dieser Methode kann der Teilnehmer den Termin in seinem Kalender sehen, erhält aber keine Einladungs-E-Mail von Google Kalender.

Den Organisator zu den Kontakten des Teilnehmers hinzufügen

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 seinen Google-Kontakten hinzuzufügen, damit ein Termin direkt in seinem Kalender angezeigt wird. 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, den Kontakten ihrer Nutzer programmatisch E-Mail-Adressen hinzuzufügen. Bitten Sie den Administrator, die domainweite Delegierung zu aktivieren, die Identität der Nutzer zu übernehmen und die Methode People: createContact zum Erstellen von Kontakten für jeden Nutzer zu verwenden, damit zukünftige Einladungen von diesen E-Mail-Adressen automatisch in den Kalendern der Nutzer angezeigt werden.
  • Wenn Sie Zugriff auf die Kontakte des Teilnehmers haben, können Sie mit der Methode People: createContact auch die E-Mail-Adresse des Organisators zu den Kontakten des Teilnehmers 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 iKalender-Protokoll (RFC-5545), um Nutzer per E-Mail über eine ICS-Datei einzuladen.

Wenn der Teilnehmer ein Google Kalender-Nutzer mit der Einstellung Only if the sender is known ist und die ihm bekannte Adresse noch nie zuvor interagiert oder die Adresse noch nicht gespeichert hat, wird die Einladung dem Kalender erst hinzugefügt, wenn er auf Ich kenne diesen Absender klickt oder die Einladung angenommen hat.

Wenn Sie es Google Kalender-Nutzern erleichtern möchten, einen Termin einmalig hinzuzufügen, ohne ihn auf dem neuesten Stand zu halten, können Sie dem Nutzer einen Link mit einem vorausgefüllten Termin bereitstellen. Mit dieser Methode wird im Kalender des Nutzers ein eigenes Ereignis erstellt, das Sie nur aktualisieren können, 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 und 20230326T001500Z.
  • Start- und Endzeitzonen: Verwenden Sie den Namen der IANA-Zeitzonendatenbank. Geben Sie die Zeitzonen in die Felder stz und etz ein.
  • Ereignisbeschreibung: Muss URL-codiert sein.
  • Ereignisort: Muss URL-codiert sein.
  • Ereignistitel: Muss URL-codiert sein.

Beispiel

Sehen wir uns das Beispiel für die Erstellung eines Terminbuchungsdienstes an, mit dem Nutzer Termine in einem Unternehmen buchen können. Wenn ein Nutzer einen Termin bucht, möchten Sie, dass Ihr Dienst dem Google-Kalender des Reservierenden und des Unternehmens einen Termin hinzufügt.

Für eine optimale Nutzererfahrung empfehlen wir, dass das Unternehmen Schreibzugriff auf seinen Kalender gewährt. So können Sie den Termin direkt zum Kalender des Unternehmens hinzufügen (Termin erstellen) und den Reservierer zu diesem Termin einladen (Teilnehmer hinzufügen). Damit der Reservierer den Termin in seinem Kalender sieht und daran erinnert wird, bitte ihn, seine E-Mails zu prüfen und sofort nach der Buchung mit Ja 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 des Buchers hinzufügen möchten, weisen Sie die Bucher an, die E-Mail-Adresse, von der aus sie die Einladung erhalten, zu ihren Kontakten hinzuzufügen. Alternativ können Sie die Bucher um Schreibzugriff auf ihren Kalender bitten, um in ihrem Namen programmatisch auf die Einladung zu antworten (Antwort des Teilnehmers festlegen) und ihnen eine E-Mail-Benachrichtigung über die bestätigte Buchung senden.

Wenn das Unternehmen seine E-Mail-Adresse nicht offenlegen möchte, kannst du eine nutzerspezifische E-Mail-Adresse verwenden, um den Termin per E-Mail an den Bucher zu senden (Nutzer über eine E-Mail-Adresse einladen).

Ereignisweitergabe

Das folgende Diagramm veranschaulicht die Dynamik. Zuerst erstellt Jack einen Termin in seinem Primärkalender (und ist somit Eigentümer der Organisator-Kopie). Dann lädt er den sekundären Kalender der Cello-Unterrichtsgruppe und Susan ein, die die Termineinstellung Only if the sender is known hat. Die Kopien der Teilnehmer werden im sekundären Kalender der Cello-Unterrichtsgruppe und, falls sie Jack kennt, in Susans Kalender erstellt. Andernfalls wird sie bei der Antwort oder bei der Angabe, dass sie Jack kennt, erstellt. Wenn Susan antwortet, wird die Antwortänderung an den Organisator weitergegeben und die Kopie des Organisators wird mit Susans Antwort aktualisiert. Diese Änderungen, die an der Terminkopie des Organisators vorgenommen wurden, werden dann an die anderen Teilnehmer weitergegeben.

Diagramm zur Ereignis-/Teilnehmerdynamik

Gemeinsame Ereigniseigenschaften

Der Kalender, in dem der Termin erstellt wird, ist der Organisator des Kalenders. Zu diesem Kalender gehören die freigegebenen Termininformationen, einschließlich ID, Start- und Endzeit, Zusammenfassung und Beschreibung. Wenn diese Informationen im Organisator-Kalender aktualisiert werden, werden die Änderungen in Teilnehmerkopien übernommen.

Eigenschaften für private Veranstaltungen

Nicht alle Informationen werden von allen Terminkopien gemeinsam verwendet. Einige Attribute sind privat, z. B. Erinnerungen, colorId, Transparenz oder das Attribut extendedProperties.private. Diese Eigenschaften werden von den Einstellungen des Teilnehmers und nicht vom Kalender des Organisators gesteuert.

Teilnehmer können auch die gemeinsamen Eigenschaften des Termins ändern. Diese Änderungen werden jedoch nur in ihrer eigenen Kopie übernommen und können verloren gehen, wenn der Organisator eine Änderung vornimmt.

Die einzige Terminänderung, die von den Teilnehmern an den Organisator weitergegeben wird, ist der Antwortstatus des Teilnehmers. Er wird im Attribut attendees[].responseStatus gespeichert.