Events: insert

Utworzy wydarzenie. Wypróbuj teraz lub zobacz przykład.

Żądanie

Żądanie HTTP

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

Parametry

Nazwa parametru Wartość Opis
Parametry ścieżki
calendarId string Identyfikator kalendarza. Aby pobrać identyfikatory kalendarzy, wywołaj metodę calendarList.list. Jeśli chcesz uzyskać dostęp do głównego kalendarza aktualnie zalogowanego użytkownika, użyj słowa kluczowego „primary”.
Parametry opcjonalne zapytania
conferenceDataVersion integer Numer wersji danych rozmów wideo obsługiwanych przez klienta interfejsu API. Wersja 0 zakłada brak obsługi danych rozmów wideo i ignoruje dane dotyczące konferencji w treści wydarzenia. Wersja 1 umożliwia kopiowanie danych konferencji oraz tworzenie nowych konferencji za pomocą pola createRequest w danych konferencji. Wartość domyślna to 0. Akceptowane wartości to od 0 do 1 (włącznie).
maxAttendees integer Maksymalna liczba uczestników do uwzględnienia w odpowiedzi. Jeśli jest ich więcej, zwracany jest tylko jeden uczestnik. Opcjonalnie:
sendNotifications boolean Rola wycofana. Zamiast tego użyj parametru sendUpdates.

Czy wysyłać powiadomienia o tworzeniu nowego zdarzenia. Pamiętaj, że niektóre e-maile mogą być wysyłane nawet wtedy, gdy ustawisz wartość false. Wartość domyślna to false.
sendUpdates string Czy wysyłać powiadomienia o tworzeniu nowego wydarzenia. Pamiętaj, że niektóre e-maile mogą być nadal wysyłane. Wartość domyślna to false.

Akceptowane wartości:
  • all”: powiadomienia są wysyłane do wszystkich gości.
  • externalOnly”: powiadomienia są wysyłane tylko do gości, którzy nie korzystają z Kalendarza Google.
  • none”: nie są wysyłane żadne powiadomienia.
supportsAttachments boolean Określa, czy klient interfejsu API, który wykonuje operację, obsługuje załączniki zdarzeń. Opcjonalnie: Wartość domyślna to False (fałsz).

Autoryzacja

Ta prośba wymaga autoryzacji z co najmniej jednym z tych zakresów:

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

Więcej informacji znajdziesz na stronie Uwierzytelnianie i autoryzacja.

Treść żądania

W treści żądania podaj zasób Zdarzenia z tymi właściwościami:

Nazwa usługi Wartość Opis Uwagi
Właściwości wymagane
end nested object Czas zakończenia wydarzenia (wyłącznie). W przypadku wydarzenia cyklicznego jest to czas zakończenia pierwszego wystąpienia.
start nested object Godzina rozpoczęcia wydarzenia (włącznie). W przypadku wydarzenia cyklicznego jest to godzina rozpoczęcia pierwszego wystąpienia.
Właściwości opcjonalne
anyoneCanAddSelf boolean Czy każdy może zaprosić siebie na wydarzenie (ta opcja została wycofana). Opcjonalnie: Wartość domyślna to Fałsz. z możliwością zapisu
attachments[].fileUrl string Link do załącznika.

Aby dodać załączniki z plikami z Dysku Google, użyj tego samego formatu co we właściwości alternateLink zasobu Files w interfejsie Drive API.

Wymagane podczas dodawania załącznika.

zapisywalny
attendees[] list Uczestnicy wydarzenia. Więcej informacji o planowaniu wydarzeń z innymi użytkownikami kalendarza znajdziesz w przewodniku Wydarzenia z uczestnikami. Aby wypełnić listę uczestników, konta usługi muszą korzystać z przekazywania uprawnień w całej domenie. zapisywalny
attendees[].additionalGuests integer Liczba dodatkowych gości. Opcjonalnie: Wartość domyślna to 0. zapisywalny
attendees[].comment string Komentarz uczestnika do odpowiedzi. Opcjonalnie: zapisywalny
attendees[].displayName string Imię i nazwisko uczestnika (jeśli jest dostępny). Opcjonalnie: zapisywalny
attendees[].email string Adres e-mail uczestnika (jeśli jest dostępny). To pole musi być obecne podczas dodawania uczestnika. Musi to być prawidłowy adres e-mail zgodny ze standardem RFC5322.

Wymagane podczas dodawania uczestnika.

z możliwością zapisu
attendees[].optional boolean Określa, czy jest to uczestnik opcjonalny. Opcjonalnie: Wartość domyślna to False (fałsz). zapisywalny
attendees[].resource boolean Czy uczestnik jest zasobem. Można go ustawić tylko wtedy, gdy uczestnik jest po raz pierwszy dodawany do wydarzenia. Kolejne modyfikacje są ignorowane. Opcjonalnie: Wartość domyślna to False (fałsz). zapisywalny
attendees[].responseStatus string Stan odpowiedzi uczestnika. Możliwe wartości:
  • needsAction” – uczestnik nie odpowiedział na zaproszenie (zalecane w przypadku nowych wydarzeń).
  • declined” – uczestnik odrzucił zaproszenie.
  • tentative” – uczestnik zaakceptował wstępnie zaproszenie.
  • accepted” – uczestnik zaakceptował zaproszenie.
z możliwością zapisu
birthdayProperties nested object Dane dotyczące urodzin lub wydarzeń specjalnych. Używany, jeśli eventType to "birthday". Niezmienna. zapisywalny
birthdayProperties.type string Typ urodzin lub wydarzenia specjalnego. Możliwe wartości:
  • "anniversary" – rocznica inna niż urodziny. Zawsze ma wartość contact.
  • "birthday" – zdarzenie urodzinowe. jest to wartość domyślna
  • "custom" – data specjalna, której etykieta jest dokładniej określona w polu customTypeName. Zawsze ma wartość contact.
  • "other" – data specjalna, która nie pasuje do żadnej z powyższych kategorii i nie ma etykiety niestandardowej. Zawsze ma contact.
  • "self" – urodziny właściciela Kalendarza. Nie może zawierać ciągu znaków contact.
Interfejs Calendar API obsługuje tylko tworzenie wydarzeń typu "birthday". Po utworzeniu zdarzenia nie można zmienić jego typu.
zapisywalny
colorId string Kolor zdarzenia. Jest to identyfikator odnoszący się do wpisu w sekcji event definicji kolorów (patrz punkt końcowy colors). Opcjonalnie: zapisywalny
conferenceData nested object informacje związane z konferencją, na przykład szczegóły rozmowy w Google Meet; Aby utworzyć nowe szczegóły rozmowy wideo, użyj pola createRequest. Aby zmiany były trwałe, pamiętaj, aby w przypadku wszystkich próśb o modyfikację zdarzenia ustawić parametr conferenceDataVersion na 1. z możliwością zapisu
description string Opis wydarzenia. Może zawierać kod HTML. Opcjonalnie: zapisywalny
end.date date Data w formacie „RRRR-MM-DD”, jeśli jest to wydarzenie całodniowe. z możliwością zapisu
end.dateTime datetime Czas jako połączona wartość daty i godziny (sformatowana zgodnie z RFC3339). Wymagane jest przesunięcie strefy czasowej, chyba że strefa czasowa jest wyraźnie określona w elementach timeZone. zapisywalny
end.timeZone string Strefa czasowa, w której jest podany czas. (Sformatowana jako nazwa bazy danych strefy czasowej IANA, np. „Europa/Zurych”). W przypadku zdarzeń cyklicznych to pole jest wymagane i określa strefę czasową, w której rozszerzona jest powtarzalność. W przypadku pojedynczych wydarzeń to pole jest opcjonalne i wskazuje niestandardową strefę czasową rozpoczęcia/zakończenia wydarzenia. zapisywalny
eventType string Konkretny typ zdarzenia. Po utworzeniu wydarzenia nie można zmienić tego ustawienia. Możliwe wartości:
  • birthday” – specjalne całodniowe wydarzenie cykliczne powtarzane co roku.
  • default” – zwykłe zdarzenie lub nieokreślone.
  • focusTime” – zdarzenie czasu skupienia.
  • fromGmail” – wydarzenie z Gmaila. Nie można utworzyć tego typu zdarzenia.
  • outOfOffice” – zdarzenie poza biurem.
  • workingLocation” – zdarzenie dotyczące lokalizacji miejsca pracy.
zapisywalny
extendedProperties.private object Właściwości, które są prywatne dla kopii wydarzenia widocznej w tym kalendarzu. zapisywalny
extendedProperties.shared object Właściwości, które są wspólne dla kopii wydarzenia w kalendarzach innych uczestników. zapisywalny
focusTimeProperties nested object Dane zdarzenia typu Czas skupienia. Używany, jeśli eventType to focusTime. z możliwością zapisu
gadget.display string Tryb wyświetlania gadżetu. Rola wycofana. Możliwe wartości:
  • icon” – gadżet wyświetla się obok tytułu wydarzenia w widoku kalendarza.
  • chip” – gadżet wyświetla się po kliknięciu zdarzenia.
z możliwością zapisu
gadget.height integer Wysokość gadżetu w pikselach. Wysokość musi być liczbą całkowitą większą od 0. Opcjonalnie: Rola wycofana. z możliwością zapisu
gadget.preferences object Ustawienia. zapisywalny
gadget.title string Tytuł gadżetu. Rola wycofana. zapisywalny
gadget.type string Typ gadżetu. Rola wycofana. z możliwością zapisu
gadget.width integer Szerokość gadżetu w pikselach. Szerokość musi być liczbą całkowitą większą od 0. Opcjonalnie: Rola wycofana. zapisywalny
guestsCanInviteOthers boolean Określa, czy uczestnicy inne niż organizator mogą zapraszać na wydarzenie inne osoby. Opcjonalnie: Wartość domyślna to Prawda. zapisywalny
guestsCanModify boolean Określa, czy uczestnicy inni niż organizator mogą modyfikować wydarzenie. Opcjonalnie: Wartość domyślna to False (fałsz). zapisywalny
guestsCanSeeOtherGuests boolean Określa, czy uczestnicy inni niż organizator mogą zobaczyć, kto bierze udział w wydarzeniu. Opcjonalnie: Wartość domyślna to True. zapisywalny
id string Nieprzejrzysty identyfikator zdarzenia. Podczas tworzenia nowych pojedynczych lub powtarzających się zdarzeń możesz określić ich identyfikatory. Podane identyfikatory muszą spełniać te reguły:
  • Dozwolone znaki w identyfikatorze to te, które są używane w kodowaniu base32hex, czyli małe litery a–v i cyfry 0–9 (patrz sekcja 3.1.2 w RFC2938).
  • identyfikator musi mieć od 5 do 1024 znaków
  • identyfikator musi być unikalny dla każdego kalendarza.
Ze względu na globalny charakter systemu nie możemy zagwarantować, że kolizje identyfikatorów zostaną wykryte w momencie tworzenia zdarzenia. Aby zminimalizować ryzyko kolizji, zalecamy użycie sprawdzonego algorytmu UUID, takiego jak opisany w RFC4122.

Jeśli nie podasz identyfikatora, zostanie on wygenerowany automatycznie przez serwer.

Pamiętaj, że icalUIDid nie są identyczne i podczas tworzenia zdarzenia należy podać tylko jeden z nich. Jednym z różnic w semantyce jest to, że w przypadku cyklicznych zdarzeń wszystkie wystąpienia jednego zdarzenia mają różne wartości id, ale wszystkie mają te same wartości icalUID.

z możliwością zapisu
location string Geograficzna lokalizacja wydarzenia w postaci dowolnego tekstu. Opcjonalnie: zapisywalny
originalStartTime.date date Data w formacie „RRRR-MM-DD”, jeśli jest to wydarzenie całodniowe. zapisywalny
originalStartTime.dateTime datetime Czas jako połączona wartość daty i czasu (sformatowana zgodnie ze standardem RFC3339). Przesunięcie strefy czasowej jest wymagane, chyba że w polu timeZone wyraźnie określisz strefę czasową. zapisywalny
originalStartTime.timeZone string Strefa czasowa, w której jest podany czas. (Sformatowana jako nazwa bazy danych strefy czasowej IANA, np. „Europa/Zurych”). W przypadku zdarzeń cyklicznych to pole jest wymagane i określa strefę czasową, w której rozszerzona jest powtarzalność. W przypadku pojedynczych wydarzeń to pole jest opcjonalne i wskazuje niestandardową strefę czasową rozpoczęcia/zakończenia wydarzenia. zapisywalny
outOfOfficeProperties nested object Dane dotyczące wydarzeń poza biurem. Używany, jeśli eventType to outOfOffice. zapisywalny
recurrence[] list Lista wierszy RRULE, EXRULE, RDATE i EXDATE dla powtarzającego się zdarzenia, zgodnie z RFC5545. Pamiętaj, że w tym polu nie można używać linii DTSTART i DTEND. Czas rozpoczęcia i zakończenia wydarzenia jest określony w polach start i end. To pole jest pomijane w przypadku pojedynczych wydarzeń lub wystąpień wydarzeń cyklicznych. zapisywalny
reminders.overrides[] list Jeśli dla wydarzenia nie są używane przypomnienia domyślne, zobaczysz listę przypomnień dotyczących tego wydarzenia lub, jeśli nie zostanie skonfigurowana, wskazuje, że dla tego wydarzenia nie są ustawione żadne przypomnienia. Maksymalna liczba przypomnień o zastąpieniu to 5. z możliwością zapisu
reminders.overrides[].method string Metoda używana przez to przypomnienie. Możliwe wartości:
  • email” – przypomnienia są wysyłane pocztą e-mail.
  • popup” – przypomnienia są wysyłane przez wyskakujące okienko w interfejsie.

Wymagany podczas dodawania przypomnienia.

zapisywalny
reminders.overrides[].minutes integer Liczba minut przed rozpoczęciem wydarzenia, kiedy powinno wyświetlić się przypomnienie. Dozwolone wartości to 0–40 320 (4 tygodnie w minutach).

Wymagany podczas dodawania przypomnienia.

z możliwością zapisu
reminders.useDefault boolean Określa, czy do wydarzenia mają zastosowanie domyślne przypomnienia w kalendarzu. z możliwością zapisu
sequence integer Numer sekwencyjny zgodnie z iCalendar. z możliwością zapisu
source.title string Tytuł źródła, np. tytuł strony internetowej lub temat e-maila. z możliwością zapisu
source.url string Adres URL źródła wskazującego zasób. Schemat adresu URL musi być HTTP lub HTTPS. zapisywalny
start.date date Data w formacie „RRRR-MM-DD”, jeśli jest to wydarzenie całodniowe. zapisywalny
start.dateTime datetime Czas jako połączona wartość daty i czasu (sformatowana zgodnie ze standardem RFC3339). Wymagane jest przesunięcie strefy czasowej, chyba że strefa czasowa jest wyraźnie określona w elementach timeZone. zapisywalny
start.timeZone string Strefa czasowa, w której jest podany czas. (Sformatowana jako nazwa bazy danych strefy czasowej IANA, np. „Europa/Zurych”). W przypadku zdarzeń cyklicznych to pole jest wymagane i określa strefę czasową, w której rozszerzona jest powtarzalność. W przypadku pojedynczych wydarzeń to pole jest opcjonalne i wskazuje niestandardową strefę czasową rozpoczęcia/zakończenia wydarzenia. zapisywalny
status string Stan zdarzenia. Opcjonalnie: Możliwe wartości:
  • confirmed” – wydarzenie zostało potwierdzone. Jest to stan domyślny.
  • tentative” – zdarzenie jest wstępnie potwierdzone.
  • cancelled” – zdarzenie zostało anulowane (usunięte). Metoda list zwraca anulowane zdarzenia tylko w przypadku synchronizacji przyrostowej (gdy są określone parametry syncToken lub updatedMin) albo jeśli flaga showDeleted ma wartość true. Metoda get zawsze zwraca te wartości.

    Stan „Anulowano” może oznaczać 2 różne stany w zależności od typu zdarzenia:

    1. Anulowane wyjątki nieanulowanego wydarzenia cyklicznego wskazują, że to wystąpienie nie powinno być już wyświetlane użytkownikowi. Klienci powinni przechowywać te zdarzenia przez cały czas trwania nadrzędnego wydarzenia cyklicznego.

      Gwarantowane, że anulowane wyjątki będą miały wypełnione tylko wartości w polach id, recurringEventId i originalStartTime. Pozostałe pola mogą być puste.

    2. Wszystkie inne anulowane wydarzenia to usunięte wydarzenia. Klienci powinni usunąć swoje zsynchronizowane lokalnie kopie. Anulowane wydarzenia ostatecznie znikną, więc nie należy zakładać, że będą dostępne bezterminowo.

      Gwarantujemy, że w przypadku usuniętych wydarzeń tylko pole id będzie wypełnione.

    Anulowane wydarzenia w kalendarzu organizatora nadal zawierają szczegóły wydarzenia (podsumowanie, lokalizację itp.), aby można je było przywrócić (przywrócić). Podobnie informacje o wydarzeniu, na które użytkownik został zaproszony i które usunął ręcznie, nadal są dostępne. Jednak żądania stopniowej synchronizacji z wartością showDeleted równą „false” nie zwracają tych szczegółów.

    Jeśli organizator zmieni organizatora (na przykład w wyniku operacji move) i pierwotnego organizatora nie ma na liście uczestników, wydarzenie pozostawi anulowane wydarzenie, w którym tylko pole id zostanie wypełnione.

zapisywalny
summary string Nazwa wydarzenia, z możliwością zapisu
transparency string Określa, czy wydarzenie blokuje czas w kalendarzu. Opcjonalnie: Możliwe wartości:
  • opaque” – wartość domyślna. Wydarzenie blokuje czas w kalendarzu. Odpowiada to ustawieniu Pokaż mój stan jako na Zajęty w interfejsie Kalendarza.
  • transparent” – wydarzenie nie blokuje czasu w kalendarzu. Jest to równoznaczne z ustawieniem Pokaż mnie jako na Dostępny w interfejsie Kalendarza.
zapisywalny
visibility string Widoczność zdarzenia. Opcjonalnie: Możliwe wartości:
  • default” – domyślna widoczność wydarzeń w kalendarzu. jest to wartość domyślna
  • public” – wydarzenie jest publiczne, a szczegóły są widoczne dla wszystkich czytelników kalendarza.
  • private” – wydarzenie jest prywatne i tylko uczestnicy mogą wyświetlać jego szczegóły.
  • confidential” – zdarzenie jest prywatne. Ta wartość jest podawana ze względów związanych ze zgodnością.
zapisywalny
workingLocationProperties nested object Dane zdarzenia dotyczące miejsca pracy. zapisywalny
workingLocationProperties.customLocation object Jeśli jest obecny, określa, że użytkownik pracuje w niestandardowej lokalizacji. zapisywalny
workingLocationProperties.customLocation.label string Opcjonalna dodatkowa etykieta zawierająca dodatkowe informacje. zapisywalny
workingLocationProperties.homeOffice any value Jeśli ten parametr jest dostępny, oznacza, że użytkownik pracuje w domu. z możliwością zapisu
workingLocationProperties.officeLocation object Jeśli jest obecny, określa, że użytkownik pracuje w biurze. zapisywalny
workingLocationProperties.officeLocation.buildingId string Opcjonalny identyfikator budynku. Powinien on wskazywać identyfikator budynku w bazie danych zasobów organizacji. zapisywalny
workingLocationProperties.officeLocation.deskId string Opcjonalny identyfikator działu z możliwością zapisu
workingLocationProperties.officeLocation.floorId string Opcjonalny identyfikator piętra. zapisywalny
workingLocationProperties.officeLocation.floorSectionId string Opcjonalny identyfikator obszaru piętra. zapisywalny
workingLocationProperties.officeLocation.label string Nazwa biura wyświetlana w klientach internetowych i mobilnych. Zalecamy odniesienie się do nazwy budynku w bazie danych zasobów organizacji. zapisywalny
workingLocationProperties.type string Typ miejsca pracy. Możliwe wartości:
  • homeOffice” – użytkownik pracuje w domu.
  • officeLocation” – użytkownik pracuje w biurze.
  • customLocation” – użytkownik pracuje w lokalizacji niestandardowej.
Wszelkie szczegóły są podawane w podpolu określonej nazwy, ale to pole może być puste. Pozostałe pola są ignorowane.

Wymagany podczas dodawania właściwości lokalizacji miejsca pracy.

zapisywalny

Odpowiedź

Jeśli operacja się powiedzie, zwróci ona w swoim ciele odpowiedź z zasobem Events.

Przykłady

Uwaga: dostępne dla tej metody przykłady kodu nie odzwierciedlają wszystkich obsługiwanych języków programowania. Listę obsługiwanych języków znajdziesz na stronie z bibliotekami klienta.

Java

Korzysta z biblioteki klienta Java.

// Refer to the Java quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/java
// Change the scope to CalendarScopes.CALENDAR and delete any stored
// credentials.

Event event = new Event()
    .setSummary("Google I/O 2015")
    .setLocation("800 Howard St., San Francisco, CA 94103")
    .setDescription("A chance to hear more about Google's developer products.");

DateTime startDateTime = new DateTime("2015-05-28T09:00:00-07:00");
EventDateTime start = new EventDateTime()
    .setDateTime(startDateTime)
    .setTimeZone("America/Los_Angeles");
event.setStart(start);

DateTime endDateTime = new DateTime("2015-05-28T17:00:00-07:00");
EventDateTime end = new EventDateTime()
    .setDateTime(endDateTime)
    .setTimeZone("America/Los_Angeles");
event.setEnd(end);

String[] recurrence = new String[] {"RRULE:FREQ=DAILY;COUNT=2"};
event.setRecurrence(Arrays.asList(recurrence));

EventAttendee[] attendees = new EventAttendee[] {
    new EventAttendee().setEmail("lpage@example.com"),
    new EventAttendee().setEmail("sbrin@example.com"),
};
event.setAttendees(Arrays.asList(attendees));

EventReminder[] reminderOverrides = new EventReminder[] {
    new EventReminder().setMethod("email").setMinutes(24 * 60),
    new EventReminder().setMethod("popup").setMinutes(10),
};
Event.Reminders reminders = new Event.Reminders()
    .setUseDefault(false)
    .setOverrides(Arrays.asList(reminderOverrides));
event.setReminders(reminders);

String calendarId = "primary";
event = service.events().insert(calendarId, event).execute();
System.out.printf("Event created: %s\n", event.getHtmlLink());

Python

Korzysta z biblioteki klienta Pythona.

# Refer to the Python quickstart on how to setup the environment:
# https://developers.google.com/calendar/quickstart/python
# Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
# stored credentials.

event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  'reminders': {
    'useDefault': False,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
}

event = service.events().insert(calendarId='primary', body=event).execute()
print 'Event created: %s' % (event.get('htmlLink'))

PHP

Używa biblioteki klienta PHP.

// Refer to the PHP quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/php
// Change the scope to Google_Service_Calendar::CALENDAR and delete any stored
// credentials.

$event = new Google_Service_Calendar_Event(array(
  'summary' => 'Google I/O 2015',
  'location' => '800 Howard St., San Francisco, CA 94103',
  'description' => 'A chance to hear more about Google\'s developer products.',
  'start' => array(
    'dateTime' => '2015-05-28T09:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'end' => array(
    'dateTime' => '2015-05-28T17:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'recurrence' => array(
    'RRULE:FREQ=DAILY;COUNT=2'
  ),
  'attendees' => array(
    array('email' => 'lpage@example.com'),
    array('email' => 'sbrin@example.com'),
  ),
  'reminders' => array(
    'useDefault' => FALSE,
    'overrides' => array(
      array('method' => 'email', 'minutes' => 24 * 60),
      array('method' => 'popup', 'minutes' => 10),
    ),
  ),
));

$calendarId = 'primary';
$event = $service->events->insert($calendarId, $event);
printf('Event created: %s\n', $event->htmlLink);

Ruby

Używa biblioteki klienta Ruby.

event = Google::Apis::CalendarV3::Event.new(
  summary: 'Google I/O 2015',
  location: '800 Howard St., San Francisco, CA 94103',
  description: 'A chance to hear more about Google\'s developer products.',
  start: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T09:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  end: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T17:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  recurrence: [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  attendees: [
    Google::Apis::CalendarV3::EventAttendee.new(
      email: 'lpage@example.com'
    ),
    Google::Apis::CalendarV3::EventAttendee.new(
      email: 'sbrin@example.com'
    )
  ],
  reminders: Google::Apis::CalendarV3::Event::Reminders.new(
    use_default: false,
    overrides: [
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'email',
        minutes: 24 * 60
      ),
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'popup',
        minutes: 10
      )
    ]
  )
)

result = client.insert_event('primary', event)
puts "Event created: #{result.html_link}"

.NET

Używa biblioteki klienta.NET.

// Refer to the .NET quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/dotnet
// Change the scope to CalendarService.Scope.Calendar and delete any stored
// credentials.

Event newEvent = new Event()
{
    Summary = "Google I/O 2015",
    Location = "800 Howard St., San Francisco, CA 94103",
    Description = "A chance to hear more about Google's developer products.",
    Start = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T09:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    End = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T17:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    Recurrence = new String[] { "RRULE:FREQ=DAILY;COUNT=2" },
    Attendees = new EventAttendee[] {
        new EventAttendee() { Email = "lpage@example.com" },
        new EventAttendee() { Email = "sbrin@example.com" },
    },
    Reminders = new Event.RemindersData()
    {
        UseDefault = false,
        Overrides = new EventReminder[] {
            new EventReminder() { Method = "email", Minutes = 24 * 60 },
            new EventReminder() { Method = "sms", Minutes = 10 },
        }
    }
};

String calendarId = "primary";
EventsResource.InsertRequest request = service.Events.Insert(newEvent, calendarId);
Event createdEvent = request.Execute();
Console.WriteLine("Event created: {0}", createdEvent.HtmlLink);

Przeczytaj

Korzysta z biblioteki klienta Go.

// Refer to the Go quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/go
// Change the scope to calendar.CalendarScope and delete any stored credentials.

event := &calendar.Event{
  Summary: "Google I/O 2015",
  Location: "800 Howard St., San Francisco, CA 94103",
  Description: "A chance to hear more about Google's developer products.",
  Start: &calendar.EventDateTime{
    DateTime: "2015-05-28T09:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  End: &calendar.EventDateTime{
    DateTime: "2015-05-28T17:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  Recurrence: []string{"RRULE:FREQ=DAILY;COUNT=2"},
  Attendees: []*calendar.EventAttendee{
    &calendar.EventAttendee{Email:"lpage@example.com"},
    &calendar.EventAttendee{Email:"sbrin@example.com"},
  },
}

calendarId := "primary"
event, err = srv.Events.Insert(calendarId, event).Do()
if err != nil {
  log.Fatalf("Unable to create event. %v\n", err)
}
fmt.Printf("Event created: %s\n", event.HtmlLink)

JavaScript

Używa biblioteki klienta JavaScript.

// Refer to the JavaScript quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/js
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'}
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10}
    ]
  }
};

var request = gapi.client.calendar.events.insert({
  'calendarId': 'primary',
  'resource': event
});

request.execute(function(event) {
  appendPre('Event created: ' + event.htmlLink);
});

Node.js

Korzysta z biblioteki klienta Node.js.

// Refer to the Node.js quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/node
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
};

calendar.events.insert({
  auth: auth,
  calendarId: 'primary',
  resource: event,
}, function(err, event) {
  if (err) {
    console.log('There was an error contacting the Calendar service: ' + err);
    return;
  }
  console.log('Event created: %s', event.htmlLink);
});

Wypróbuj

Użyj poniższego eksploratora interfejsów API, aby wywołać tę metodę na bieżących danych i wyświetlić odpowiedź.