Events: import

Importiert einen Termin. Mit dieser Aktion wird einem Kalender eine private Kopie eines vorhandenen Termins hinzugefügt. Es können nur Ereignisse mit einer eventType von default importiert werden.

Eingestelltes Verhalten:Wenn ein Ereignis importiert wird, das nicht default ist, wird sein Typ in default geändert und alle ereignisspezifischen Properties werden verworfen.

Jetzt testen oder Beispiel ansehen

Anfrage

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 primären Kalender des aktuell angemeldeten Nutzers zugreifen möchten, verwenden Sie das Keyword „primary“.
Optionale Suchparameter
conferenceDataVersion integer Versionsnummer der Konferenzdaten, die vom API-Client unterstützt werden. Bei Version 0 wird davon ausgegangen, dass Konferenzdaten nicht unterstützt werden, und Konferenzdaten im Textkörper des Ereignisses werden ignoriert. Version 1 unterstützt das Kopieren von ConferenceData sowie das Erstellen neuer Konferenzen über das Feld „createRequest“ von „conferenceData“. Der Standardwert ist 0. Zulässige Werte: 0 bis 1.
supportsAttachments boolean Gibt an, ob der API-Client, der den Vorgang ausführt, Ereignisanhänge unterstützt. Optional. Die Standardeinstellung ist "False".

Autorisierung

Diese Anfrage erfordert eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:

Umfang
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/calendar.app.created
https://www.googleapis.com/auth/calendar.events.owned

Weitere Informationen finden Sie auf der Seite Authentifizierung und Autorisierung.

Anfragetext

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

Property-Name Wert Beschreibung Hinweise
Erforderliche Properties
end nested object Die (ausschließliche) Endzeit des Ereignisses. Bei einem wiederkehrenden Termin ist dies die Endzeit der ersten Instanz.
iCalUID string Die eindeutige Kennung des Ereignisses gemäß RFC5545. Sie dient der eindeutigen Identifizierung von Ereignissen in verschiedenen Kalendersystemen und muss beim Importieren von Ereignissen über die Methode import angegeben werden.

iCalUID und id sind nicht identisch und es sollte beim Erstellen des Ereignisses nur eines der beiden angegeben werden. Ein Unterschied in der Semantik besteht darin, dass bei wiederkehrenden Ereignissen alle Vorkommnisse eines Ereignisses unterschiedliche ids haben, während sie alle dieselben iCalUIDs haben. Wenn du ein Ereignis anhand seiner iCalUID abrufen möchtest, rufe die Methode „events.list“ mit dem Parameter „iCalUID“ auf. Wenn Sie ein Ereignis anhand seines id abrufen möchten, rufen Sie die Methode events.get auf.

start nested object Die Startzeit des Ereignisses (inklusive). Bei einem wiederkehrenden Termin ist dies der Beginn der ersten Instanz.
Optionale Eigenschaften
anyoneCanAddSelf boolean Ob sich jeder selbst zur Veranstaltung einladen kann (veraltet) Optional. Die Standardeinstellung ist "False". Bearbeitbar
attachments[].fileUrl string URL-Link zum Anhang.

Verwenden Sie für das Hinzufügen von Google Drive-Dateianhängen dasselbe Format wie in der alternateLink-Eigenschaft der Files-Ressource in der Drive API.

Erforderlich, wenn ein Anhang hinzugefügt wird.

Bearbeitbar
attendees[] list Die Teilnehmer der Veranstaltung. Weitere Informationen zum Planen von Terminen mit anderen Kalendernutzern finden Sie im Leitfaden Termine mit Teilnehmern. Für Dienstkonten muss die domainweite Delegierung von Befugnissen verwendet werden, um die Teilnehmerliste zu erstellen. Bearbeitbar
attendees[].additionalGuests integer Anzahl der zusätzlichen Gäste. Optional. Der Standardwert ist 0. Bearbeitbar
attendees[].comment string Der Kommentar der Teilnehmerin zur Antwort. Optional. Bearbeitbar
attendees[].displayName string Der Name des Teilnehmers, falls verfügbar. Optional. Bearbeitbar
attendees[].email string Die E-Mail-Adresse des Teilnehmers, falls verfügbar. Dieses Feld muss beim Hinzufügen eines Teilnehmers vorhanden sein. Es muss eine gültige E-Mail-Adresse gemäß RFC5322 sein.

Erforderlich, wenn ein Teilnehmer hinzugefügt wird.

Bearbeitbar
attendees[].optional boolean Ob es sich um eine optionale Teilnehmerrolle handelt. Optional. Die Standardeinstellung ist "False". Bearbeitbar
attendees[].resource boolean Gibt an, ob der Teilnehmer eine Ressource ist. Kann nur festgelegt werden, wenn der Teilnehmer der Veranstaltung zum ersten Mal hinzugefügt wird. Nachfolgende Änderungen werden ignoriert. Optional. Die Standardeinstellung ist "False". Bearbeitbar
attendees[].responseStatus string Der Antwortstatus des Teilnehmers. Mögliche Werte sind:
  • needsAction“: Der Teilnehmer hat nicht auf die Einladung reagiert (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 möglicherweise aus der Darstellung der Veranstaltung ausgelassen wurden. Wenn beim Abrufen eines Ereignisses keine Ergebnisse zurückgegeben werden, kann das an einer Einschränkung liegen, die durch den Abfrageparameter maxAttendee festgelegt wurde. Wenn Sie ein Ereignis aktualisieren, können Sie damit nur die Antwort des Teilnehmers aktualisieren. Optional. Die Standardeinstellung ist "False". Bearbeitbar
colorId string Die Farbe des Ereignisses. Dies ist eine ID, die sich auf einen Eintrag im Abschnitt event der Farbdefinition bezieht (siehe Farbenendpunkt). Optional. Bearbeitbar
conferenceData nested object Konferenzbezogene Informationen, z. B. Details zu einer Google Meet-Konferenz. Verwenden Sie das Feld createRequest, um neue Konferenzdetails zu erstellen. Damit Ihre Änderungen gespeichert werden, müssen Sie den Anfrageparameter conferenceDataVersion für alle Anfragen zur Ereignisänderung auf 1 festlegen. 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 Datums- und Zeitwert (formatiert gemäß RFC3339). Eine Zeitzonenverschiebung ist erforderlich, es sei denn, in timeZone ist eine Zeitzone explizit angegeben. Bearbeitbar
end.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name aus der IANA-Zeitzonendatenbank, z.B. „Europe/Zurich“). Bei wiederkehrenden Ereignissen ist dieses Feld erforderlich. Es gibt die Zeitzone an, in der die Wiederholung erweitert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn/das Ende des Ereignisses an. Bearbeitbar
extendedProperties.private object Eigenschaften, die nur für die Kopie des Termins gelten, die in diesem Kalender angezeigt wird. Bearbeitbar
extendedProperties.shared object Eigenschaften, die zwischen Kopien des Termins in den Kalendern anderer Teilnehmer geteilt werden. Bearbeitbar
focusTimeProperties nested object Daten zu Fokuszeit-Terminen Wird verwendet, wenn eventType focusTime ist. Bearbeitbar
gadget.display string Der Anzeigemodus des Gadgets. Verworfen. Mögliche Werte sind:
  • icon“: Das Gadget wird in der Kalenderansicht neben dem Titel des Ereignisses angezeigt.
  • chip“: Das Gadget wird angezeigt, wenn auf das Ereignis 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. Verworfen. Bearbeitbar
gadget.preferences object Einstellungen. Bearbeitbar
gadget.title string Der Titel des Gadgets. Verworfen. Bearbeitbar
gadget.type string Der Typ des Gadgets. Verworfen. Bearbeitbar
gadget.width integer Die Breite des Gadgets in Pixeln. Die Breite muss eine Ganzzahl größer als 0 sein. Optional. Verworfen. Bearbeitbar
guestsCanInviteOthers boolean Ob andere Teilnehmer als der Organisator andere zum Termin einladen können. Optional. Der Standardwert ist „True“. Bearbeitbar
guestsCanModify boolean Ob andere Teilnehmer als der Organisator die Veranstaltung ändern können. Optional. Die Standardeinstellung ist "False". Bearbeitbar
guestsCanSeeOtherGuests boolean Ob andere Teilnehmer als der Organisator sehen können, wer die Teilnehmer der Veranstaltung sind. Optional. Der Standardwert ist „True“. Bearbeitbar
location string Der geografische Standort des Ereignisses als Freitext. Optional. Bearbeitbar
organizer object Der Organisator der Veranstaltung. Wenn der Organisator auch ein Teilnehmer ist, wird dies durch einen separaten Eintrag in attendees angezeigt, bei dem das Feld organizer auf „True“ gesetzt ist. Verwenden Sie den Vorgang move, um den Organisator zu ändern. Schreibgeschützt, außer beim Importieren eines Ereignisses. 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 Datums- und Zeitwert (formatiert gemäß RFC3339). Eine Zeitzonenabweichung ist erforderlich, es sei denn, in timeZone ist eine Zeitzone explizit angegeben. Bearbeitbar
originalStartTime.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name aus der IANA-Zeitzonendatenbank, z.B. „Europe/Zurich“). Bei wiederkehrenden Ereignissen ist dieses Feld erforderlich. Es gibt die Zeitzone an, in der die Wiederholung erweitert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn/das Ende des Ereignisses an. Bearbeitbar
outOfOfficeProperties nested object Daten zu Abwesenheitsereignissen Wird verwendet, wenn eventType outOfOffice ist. Bearbeitbar
recurrence[] list Liste der Zeilen RRULE, EXRULE, RDATE und EXDATE für ein wiederkehrendes Ereignis gemäß RFC5545. In diesem Feld sind keine DTSTART- und DTEND-Zeilen zulässig. Beginn und Ende der Veranstaltung werden in den Feldern start und end angegeben. Dieses Feld wird für einzelne Ereignisse oder Instanzen wiederkehrender Ereignisse weggelassen. Bearbeitbar
reminders.overrides[] list Wenn für das Ereignis nicht die Standarderinnerungen verwendet werden, werden hier die für das Ereignis spezifischen Erinnerungen aufgeführt. Andernfalls wird angezeigt, dass für dieses Ereignis keine Erinnerungen festgelegt sind. Es sind maximal 5 Überschreibungs-Erinnerungen zulässig. 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 in der Benutzeroberfläche gesendet.

Erforderlich, wenn Sie eine Erinnerung hinzufügen.

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

Erforderlich, wenn Sie eine Erinnerung hinzufügen.

Bearbeitbar
reminders.useDefault boolean Ob die Standarderinnerungen des Kalenders auf das Ereignis angewendet werden. Bearbeitbar
sequence integer Sequenznummer gemäß iCalendar. Bearbeitbar
source.title string Der 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 Datums- und Zeitwert (formatiert gemäß RFC3339). Eine Zeitzonenverschiebung ist erforderlich, es sei denn, in timeZone ist eine Zeitzone explizit angegeben. Bearbeitbar
start.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name aus der IANA-Zeitzonendatenbank, z.B. „Europe/Zurich“). Bei wiederkehrenden Ereignissen ist dieses Feld erforderlich. Es gibt die Zeitzone an, in der die Wiederholung erweitert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn/das Ende des Ereignisses an. Bearbeitbar
status string Status des Ereignisses. Optional. Mögliche Werte sind:
  • confirmed“: Das Ereignis ist bestätigt. Das ist der Standardstatus.
  • tentative“: Die Veranstaltung ist vorläufig bestätigt.
  • cancelled“: Die Veranstaltung wurde abgesagt (gelöscht). Die Methode list gibt abgesagte Ereignisse nur bei inkrementeller Synchronisierung zurück (wenn syncToken oder updatedMin angegeben ist) oder wenn das Flag showDeleted auf true gesetzt ist. Die get-Methode gibt sie immer zurück.

    Der Status „Abgebrochen“ kann je nach Ereignistyp zwei verschiedene Status haben:

    1. Abgesagte Ausnahmen für einen nicht abgesagten wiederkehrenden Termin geben an, dass diese Instanz dem Nutzer nicht mehr angezeigt werden soll. Clients sollten diese Ereignisse für die gesamte Lebensdauer des übergeordneten wiederkehrenden Ereignisses speichern.

      Bei stornierten Ausnahmen sind nur Werte für die Felder id, recurringEventId und originalStartTime ausgefüllt. Die anderen Felder können leer sein.

    2. Alle anderen abgebrochenen Ereignisse sind gelöschte Ereignisse. Kunden sollten ihre lokal synchronisierten Kopien entfernen. Solche abgebrochenen Ereignisse werden irgendwann entfernt. Sie können also nicht davon ausgehen, dass sie auf unbestimmte Zeit verfügbar sind.

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

    Im Kalender des Organisators sind die Details der abgesagten Termine (Zusammenfassung, Ort usw.) weiterhin zu sehen, damit sie wiederhergestellt (entfernt) werden können. Ebenso werden weiterhin Details zu den Terminen angezeigt, zu denen der Nutzer eingeladen wurde und die er manuell entfernt hat. Bei Anfragen für die inkrementelle Synchronisierung, bei denen showDeleted auf „false“ (falsch) festgelegt ist, werden diese Details jedoch nicht zurückgegeben.

    Wenn sich der Organisator eines Termins ändert (z. B. über den Vorgang Verschieben) und der ursprüngliche Organisator nicht auf der Teilnehmerliste steht, wird ein abgesagter Termin zurückgelassen, bei dem nur das Feld id garantiert ausgefüllt ist.

Bearbeitbar
summary string Titel der Veranstaltung. Bearbeitbar
transparency string Gibt an, ob der Termin Zeit im Kalender blockiert. Optional. Mögliche Werte sind:
  • opaque“ – Standardwert. Der Termin blockiert Zeit im Kalender. Das entspricht der Einstellung Als Beschäftigt in der Kalenderoberfläche.
  • transparent“: Der Termin blockiert keine Zeit im Kalender. Das entspricht der Einstellung Als Verfügbar in der Kalenderoberfläche.
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“: Die Veranstaltung ist privat und nur Teilnehmer können sich die Details ansehen.
  • confidential“: Das Ereignis ist privat. Dieser Wert wird aus Kompatibilitätsgründen angegeben.
Bearbeitbar

Antwort

Bei Erfolg gibt diese Methode eine Ereignisressource im Antworttext zurück.

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

Testen!

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