Events: import

Importiert ein Ereignis. Mit diesem Vorgang wird einem Kalender eine private Kopie eines vorhandenen Termins hinzugefügt. Probieren Sie es aus oder sehen Sie sich ein Beispiel an.

Anfragen

HTTP-Anfrage

POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events/import

Parameter

Parametername Wert Beschreibung
Pfadparameter
calendarId string Kalender-ID. Rufen Sie die Methode calendarList.list auf, um Kalender-IDs abzurufen. Wenn Sie auf den Hauptkalender des aktuell angemeldeten Nutzers zugreifen möchten, verwenden Sie das Schlüsselwort „primary“.
Optionale Abfrageparameter
conferenceDataVersion integer Versionsnummer der vom API-Client unterstützten Konferenzdaten. In Version 0 wird davon ausgegangen, dass keine Konferenzdaten unterstützt werden, und ignoriert Konferenzdaten im Text des Termins. Version 1 ermöglicht das Kopieren von ConferenceData sowie das Erstellen neuer Konferenzen mit dem createRequest-Feld von ConferenceData. Der Standardwert ist 0. Zulässige Werte: 0 bis 1.
supportsAttachments boolean Gibt an, ob der API-Client, der einen Vorgang ausführt, Ereignisanhänge unterstützt. Optional. Die Standardeinstellung ist "False".

Autorisierung

Für diese Anfrage ist eine Autorisierung in mindestens einem der folgenden Bereiche erforderlich:

Umfang
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

Weitere Informationen finden Sie auf der Seite Authentifizierung und Autorisierung.

Anfragetext

Geben Sie im Anfragetext eine Ereignisressource mit den folgenden Attributen an:

Property-Name Wert Beschreibung Hinweise
Erforderliche Eigenschaften
end nested object Die (exklusive) Endzeit des Ereignisses. Bei einem wiederkehrenden Termin ist dies das Ende des ersten Termins.
iCalUID string Eindeutige Kennung des Ereignisses gemäß RFC5545. Sie wird verwendet, um Termine in verschiedenen Kalendersystemen eindeutig zu identifizieren, und muss beim Importieren von Terminen über die import-Methode angegeben werden.

Beachten Sie, dass iCalUID und id nicht identisch sind und nur eines davon bei der Erstellung des Ereignisses angegeben werden sollte. Ein Unterschied in der Semantik besteht darin, dass bei wiederkehrenden Ereignissen alle Wiederholungen eines Ereignisses unterschiedliche id-Werte haben, obwohl sie alle dieselben iCalUID-Werte haben. Wenn Sie ein Ereignis mithilfe seiner iCalUID abrufen möchten, rufen Sie die events.list-Methode mit dem iCalUID-Parameter auf. Wenn Sie ein Ereignis mithilfe seiner id abrufen möchten, rufen Sie die Methode events.get auf.

start nested object Die (inklusive) Startzeit des Ereignisses. Bei wiederkehrenden Terminen ist dies der Beginn des ersten Termins.
Optionale Attribute
anyoneCanAddSelf boolean Gibt an, ob jeder sich selbst zum Termin einladen kann (eingestellt). Optional. Die Standardeinstellung ist "False". Bearbeitbar
attachments[].fileUrl string URL-Link zum Anhang.

Verwenden Sie zum Hinzufügen von Google Drive-Dateianhängen dasselbe Format wie im Attribut alternateLink der Ressource Files in der Drive API.

Erforderlich beim Hinzufügen eines Anhangs.

Bearbeitbar
attendees[] list Die Teilnehmer des Termins. Weitere Informationen zur Planung von Terminen mit anderen Kalendernutzern finden Sie im Leitfaden Termine mit Teilnehmern. Dienstkonten müssen eine domainweite Delegierung von Befugnissen verwenden, um die Teilnehmerliste zu füllen. Bearbeitbar
attendees[].additionalGuests integer Anzahl der zusätzlichen Gäste. Optional. Der Standardwert ist 0. Bearbeitbar
attendees[].comment string Der Kommentar des Teilnehmers. Optional. Bearbeitbar
attendees[].displayName string Der Name des Gastes, falls verfügbar. Optional. Bearbeitbar
attendees[].email string Die E-Mail-Adresse des Gastes, falls verfügbar. Dieses Feld muss vorhanden sein, wenn ein Gast hinzugefügt wird. Es muss eine gültige E-Mail-Adresse gemäß RFC5322 sein.

Erforderlich beim Hinzufügen eines Gastes.

Bearbeitbar
attendees[].optional boolean Gibt an, ob dies ein optionaler Gast ist. Optional. Die Standardeinstellung ist "False". Bearbeitbar
attendees[].resource boolean Gibt an, ob der Gast eine Ressource ist. Kann nur festgelegt werden, wenn ein Gast zum ersten Mal dem Termin hinzugefügt wird. Nachfolgende Änderungen werden ignoriert. Optional. Die Standardeinstellung ist "False". Bearbeitbar
attendees[].responseStatus string Der Antwortstatus des Gastes. Mögliche Werte sind:
  • "needsAction": Der Teilnehmer hat nicht auf die Einladung geantwortet (für neue Termine empfohlen).
  • "declined": Der Teilnehmer hat die Einladung abgelehnt.
  • "tentative": Der Teilnehmer hat die Einladung vorläufig angenommen.
  • "accepted": Der Teilnehmer hat die Einladung angenommen.
Bearbeitbar
attendeesOmitted boolean Gibt an, ob Teilnehmer in der Darstellung des Termins weggelassen wurden. Beim Abrufen eines Ereignisses kann dies an einer Einschränkung liegen, die durch den Abfrageparameter maxAttendee angegeben wird. Beim Aktualisieren eines Termins kann damit nur die Antwort des Teilnehmers aktualisiert werden. Optional. Die Standardeinstellung ist "False". Bearbeitbar
colorId string Die Farbe des Termins. Dies ist eine ID, die sich auf einen Eintrag im Abschnitt event der Farbdefinition bezieht (siehe Endpunkt für Farben). Optional. Bearbeitbar
conferenceData nested object Informationen zur Konferenz, z. B. Details zu einer Google Meet-Konferenz Verwenden Sie das Feld createRequest, um neue Konferenzdetails zu erstellen. Damit Ihre Änderungen erhalten bleiben, müssen Sie den conferenceDataVersion-Anfrageparameter für alle Anfragen zur Ereignisänderung auf 1 setzen. Bearbeitbar
description string Beschreibung der Veranstaltung. Kann HTML enthalten. Optional. Bearbeitbar
end.date date Das Datum im Format „jjjj-mm-tt“, wenn es sich um einen ganztägigen Termin handelt. Bearbeitbar
end.dateTime datetime Die Uhrzeit als kombinierter Datum/Uhrzeit-Wert (gemäß RFC3339 formatiert). Ein Zeitzonenversatz ist erforderlich, es sei denn, eine Zeitzone ist ausdrücklich in timeZone angegeben. Bearbeitbar
end.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name der IANA-Zeitzonendatenbank, z.B. „Europa/Zürich“.) Bei wiederkehrenden Terminen ist dieses Feld erforderlich und gibt die Zeitzone an, in der die Serie erweitert wird. Bei Einzelereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für Beginn und Ende des Ereignisses an. Bearbeitbar
extendedProperties.private object Eigenschaften, die auf die Kopie des Termins in diesem Kalender beschränkt sind. Bearbeitbar
extendedProperties.shared object Eigenschaften, die von Kopien des Termins in den Kalendern anderer Teilnehmer verwendet werden. Bearbeitbar
focusTimeProperties nested object Fokuszeit-Ereignisdaten. Erforderlich, wenn eventType den Wert focusTime hat. Bearbeitbar
gadget.display string Anzeigemodus des Gadgets Veraltet. Mögliche Werte sind:
  • icon“: Das Gadget wird in der Kalenderansicht neben dem Titel des Termins angezeigt.
  • "chip": Das Gadget wird angezeigt, wenn auf den Termin geklickt wird.
Bearbeitbar
gadget.height integer Die Höhe des Gadgets in Pixeln. Die Höhe muss eine Ganzzahl größer als 0 sein. Optional. Veraltet. Bearbeitbar
gadget.preferences object Einstellungen. Bearbeitbar
gadget.title string Der Titel des Gadgets. Veraltet. Bearbeitbar
gadget.type string Der Typ des Gadgets. Veraltet. Bearbeitbar
gadget.width integer Die Breite des Gadgets in Pixeln. Die Breite muss eine Ganzzahl größer als 0 sein. Optional. Veraltet. Bearbeitbar
guestsCanInviteOthers boolean Gibt an, ob andere Personen als der Organisator andere zum Termin einladen können. Optional. Der Standardwert ist „True“. Bearbeitbar
guestsCanModify boolean Gibt an, ob andere Gäste als der Organisator den Termin ändern können. Optional. Die Standardeinstellung ist "False". Bearbeitbar
guestsCanSeeOtherGuests boolean Gibt an, ob andere Teilnehmer als der Organisator sehen können, wer die Gäste des Termins sind. Optional. Der Standardwert ist „True“. Bearbeitbar
location string Der geografische Ort des Ereignisses als Freitext. Optional. Bearbeitbar
organizer object Der Organisator des Termins. Wenn der Organisator auch ein Gast ist, wird dies durch einen separaten Eintrag in attendees angezeigt, wobei das Feld organizer auf „True“ gesetzt ist. Mit dem Vorgang Verschieben können Sie den Organisator ändern. Schreibgeschützt, außer beim Importieren eines Termins Bearbeitbar
organizer.displayName string Der Name des Organisators, falls verfügbar. Bearbeitbar
organizer.email string Die E-Mail-Adresse des Organisators, falls verfügbar. Es muss eine gültige E-Mail-Adresse gemäß RFC5322 sein. Bearbeitbar
originalStartTime.date date Das Datum im Format „jjjj-mm-tt“, wenn es sich um einen ganztägigen Termin handelt. Bearbeitbar
originalStartTime.dateTime datetime Die Uhrzeit als kombinierter Datum/Uhrzeit-Wert (gemäß RFC3339 formatiert). Ein Zeitzonenversatz ist erforderlich, es sei denn, eine Zeitzone ist ausdrücklich in timeZone angegeben. Bearbeitbar
originalStartTime.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name der IANA-Zeitzonendatenbank, z.B. „Europa/Zürich“.) Bei wiederkehrenden Terminen ist dieses Feld erforderlich und gibt die Zeitzone an, in der die Serie erweitert wird. Bei Einzelereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für Beginn und Ende des Ereignisses an. Bearbeitbar
outOfOfficeProperties nested object Außer-Haus-Termindaten. Erforderlich, wenn eventType den Wert outOfOffice hat. Bearbeitbar
recurrence[] list Liste der RRULE-, EXRULE-, RDATE- und EXDATE-Zeilen für einen wiederkehrenden Termin, wie in RFC5545 angegeben. Beachten Sie, dass DTSTART- und DTEND-Zeilen in diesem Feld nicht zulässig sind. Start- und Endzeit eines Ereignisses werden in den Feldern start und end angegeben. Bei einzelnen Terminen oder wiederkehrenden Terminen wird dieses Feld weggelassen. Bearbeitbar
reminders.overrides[] list Falls für den Termin keine Standarderinnerungen verwendet werden, werden hier die spezifischen Erinnerungen für den Termin angezeigt. Ist dies nicht der Fall, werden für diesen Termin keine Erinnerungen eingerichtet. Es sind maximal fünf Erinnerungen zum Überschreiben. Bearbeitbar
reminders.overrides[].method string Die von dieser Erinnerung verwendete Methode. Mögliche Werte sind:
  • "email": Erinnerungen werden per E-Mail gesendet.
  • popup“: Erinnerungen werden über ein Pop-up auf der Benutzeroberfläche gesendet.

Erforderlich beim Hinzufügen einer Erinnerung.

Bearbeitbar
reminders.overrides[].minutes integer Anzahl der Minuten vor Beginn des Ereignisses, in denen die Erinnerung ausgelöst werden soll. Gültige Werte liegen zwischen 0 und 40.320 (4 Wochen in Minuten).

Erforderlich beim Hinzufügen einer Erinnerung.

Bearbeitbar
reminders.useDefault boolean Legt fest, ob die Standarderinnerungen des Kalenders für den Termin gelten. Bearbeitbar
sequence integer Sequenznummer gemäß iCalendar Bearbeitbar
source.title string Titel der Quelle, z. B. der Titel einer Webseite oder der Betreff einer E-Mail. Bearbeitbar
source.url string URL der Quelle, die auf eine Ressource verweist. Das URL-Schema muss HTTP oder HTTPS sein. Bearbeitbar
start.date date Das Datum im Format „jjjj-mm-tt“, wenn es sich um einen ganztägigen Termin handelt. Bearbeitbar
start.dateTime datetime Die Uhrzeit als kombinierter Datum/Uhrzeit-Wert (gemäß RFC3339 formatiert). Ein Zeitzonenversatz ist erforderlich, es sei denn, eine Zeitzone ist ausdrücklich in timeZone angegeben. Bearbeitbar
start.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name der IANA-Zeitzonendatenbank, z.B. „Europa/Zürich“.) Bei wiederkehrenden Terminen ist dieses Feld erforderlich und gibt die Zeitzone an, in der die Serie erweitert wird. Bei Einzelereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für Beginn und Ende des Ereignisses an. Bearbeitbar
status string Der Status des Ereignisses. Optional. Mögliche Werte sind:
  • confirmed“: Das Ereignis wurde bestätigt. Dies ist der Standardstatus.
  • "tentative": Der Termin wurde vorläufig bestätigt.
  • cancelled“: Der Termin wurde abgesagt (gelöscht). Die Methode list gibt nur bei inkrementeller Synchronisierung abgebrochene Ereignisse zurück (wenn syncToken oder updatedMin angegeben sind) oder wenn das Flag showDeleted auf true gesetzt ist. Die get-Methode gibt sie immer zurück.

    Der Status „Abgebrochen“ steht je nach Ereignistyp für zwei verschiedene Status:

    1. Stornierte Ausnahmen eines nicht stornierten wiederkehrenden Termins weisen darauf hin, dass diese Instanz dem Nutzer nicht mehr angezeigt werden soll. Kunden sollten diese Ereignisse für die Lebensdauer des wiederkehrenden übergeordneten Ereignisses speichern.

      Für abgebrochene Ausnahmen werden garantiert nur Werte für die Felder id, recurringEventId und originalStartTime ausgefüllt. Die anderen Felder sind möglicherweise leer.

    2. Alle anderen abgesagten Ereignisse sind gelöschte Ereignisse. Kunden sollten ihre lokal synchronisierten Kopien entfernen. Solche abgesagten Ereignisse werden irgendwann nicht mehr verfügbar sein. Sie sollten also nicht unbedingt auf unbestimmte Zeit verfügbar sein.

      Bei gelöschten Ereignissen ist nur garantiert, dass das Feld id ausgefüllt ist.

    Im Kalender des Organisators werden bei abgesagten Terminen weiterhin Termindetails (Zusammenfassung, Ort usw.) angezeigt, sodass sie wiederhergestellt werden können. Auch die Termine, zu denen der Nutzer eingeladen wurde und die er manuell entfernt hat, enthalten weiterhin Details. Bei inkrementellen Synchronisierungsanfragen, bei denen showDeleted auf "false" gesetzt ist, werden diese Details jedoch nicht zurückgegeben.

    Wenn der Organisator eines Termins geändert wird (z. B. mit dem Vorgang move) und der ursprüngliche Organisator nicht in der Teilnehmerliste enthalten ist, bleibt ein abgesagter Termin zurück, bei dem garantiert nur das Feld id ausgefüllt ist.

Bearbeitbar
summary string Titel der Veranstaltung. Bearbeitbar
transparency string Gibt an, ob durch den Termin Zeit im Kalender blockiert wird. Optional. Mögliche Werte sind:
  • "opaque" – Standardwert. Der Termin blockiert jedoch zwar die im Kalender angegebene Zeit. Dies entspricht der Einstellung Anzeigen als in der Google Kalender-Benutzeroberfläche auf Beschäftigt.
  • transparent“: Der Termin blockiert keine Zeit im Kalender. Dies entspricht der Einstellung Anzeigen als in der Kalender-Benutzeroberfläche auf Verfügbar.
Bearbeitbar
visibility string Sichtbarkeit des Ereignisses. Optional. Mögliche Werte sind:
  • default“: Die Standardsichtbarkeit für Termine im Kalender wird verwendet. „Immer“ ist der Standardwert.
  • "public": Der Termin ist öffentlich und die Termindetails sind für alle Leser des Kalenders sichtbar.
  • "private": Dieser Termin ist privat und nur die Teilnehmer können die Termindetails sehen.
  • confidential“: Dieser Termin ist privat. Dieser Wert wird aus Kompatibilitätsgründen angegeben.
Bearbeitbar

Antwort

Wenn der Vorgang erfolgreich ist, wird mit dieser Methode eine Ereignisressource im Antworttext zurückgegeben.

Beispiele

Hinweis: Bei den für diese Methode verfügbaren Codebeispielen sind nicht alle unterstützten Programmiersprachen vertreten. Eine Liste der unterstützten Sprachen finden Sie auf der Seite für Clientbibliotheken.

Java

Verwendet die Java-Clientbibliothek.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;
import com.google.api.services.calendar.model.EventAttendee;
import com.google.api.services.calendar.model.EventDateTime;
import com.google.api.client.util.DateTime;

import java.util.Date;
// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Create and initialize a new event (could also retrieve an existing event)
Event event = new Event();
event.setICalUID("originalUID");

Event.Organizer organizer = new Event.Organizer();
organizer.setEmail("organizerEmail");
organizer.setDisplayName("organizerDisplayName");
event.setOrganizer(organizer);

ArrayList<EventAttendee> attendees = new ArrayList<EventAttendee>();
attendees.add(new EventAttendee().setEmail("attendeeEmail"));
// ...
event.setAttendees(attendees);

Date startDate = new Date();
Date endDate = new Date(startDate.getTime() + 3600000);
DateTime start = new DateTime(startDate, TimeZone.getTimeZone("UTC"));
event.setStart(new EventDateTime().setDateTime(start));
DateTime end = new DateTime(endDate, TimeZone.getTimeZone("UTC"));
event.setEnd(new EventDateTime().setDateTime(end));

// Import the event into a calendar
Event importedEvent = service.events().calendarImport('primary', event).execute();

System.out.println(importedEvent.getId());

Python

Verwendet die Python-Clientbibliothek.

event = {
  'summary': 'Appointment',
  'location': 'Somewhere',
  'organizer': {
    'email': 'organizerEmail',
    'displayName': 'organizerDisplayName'
  },
  'start': {
    'dateTime': '2011-06-03T10:00:00.000-07:00'
  },
  'end': {
    'dateTime': '2011-06-03T10:25:00.000-07:00'
  },
  'attendees': [
    {
      'email': 'attendeeEmail',
      'displayName': 'attendeeDisplayName',
    },
    # ...
  ],
  'iCalUID': 'originalUID'
}

imported_event = service.events().import_(calendarId='primary', body=event).execute()

print imported_event['id']

PHP

Verwendet die PHP-Clientbibliothek.

$event = new Google_Service_Calendar_Event();
$event->setSummary('Appointment');
$event->setLocation('Somewhere');
$start = new Google_Service_Calendar_EventDateTime();
$start->setDateTime('2011-06-03T10:00:00.000-07:00');
$event->setStart($start);
$end = new Google_Service_Calendar_EventDateTime();
$end->setDateTime('2011-06-03T10:25:00.000-07:00');
$event->setEnd($end);
$attendee1 = new Google_Service_Calendar_EventAttendee();
$attendee1->setEmail('attendeeEmail');
// ...
$attendees = array($attendee1,
                   // ...,
                  );
$event->attendees = $attendees;
$organizer = new Google_Service_Calendar_EventOrganizer();
$organizer->setEmail('organizerEmail');
$organizer->setDisplayName('organizerDisplayName');
$event->setOrganizer($organizer);
$event->setICalUID('originalUID');
$importedEvent = $service->events->import('primary', $event);

echo $importedEvent->getId();

Ruby

Verwendet die Ruby-Clientbibliothek.

event = Google::Apis::CalendarV3::Event.new(
  summary: 'Appointment',
  location: 'Somewhere',
  organizer: {
    email: 'organizerEmail',
    display_name: 'organizerDisplayName'
  },
  start: {
    date_time: '2011-06-03T10:00:00.000-07:00'
  },
  end: {
    date_time: '2011-06-03T10:25:00.000-07:00'
  },
  attendees: [
    {
      email: 'attendeeEmail',
      display_name: 'attendeeDisplayName',
    },
    # ...
  ],
  i_cal_uid: 'originalUID'
)
result = client.import_event('primary', event)
print result.id

Jetzt testen

Verwenden Sie den unten angegebenen APIs Explorer, um diese Methode für Livedaten aufzurufen und die Antwort einzusehen.