Events: insert

Tworzy wydarzenie. Wypróbuj 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 konferencji obsługiwanych przez klienta interfejsu API. Wersja 0 zakłada brak obsługi danych konferencji i ignoruje dane 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, których można uwzględnić 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ą nadal zostać wysłane, nawet jeśli 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 wykonujący operację obsługuje załączniki zdarzeń. Opcjonalnie: Wartość domyślna to 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 czas 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. zapisywalny
attachments[].fileUrl string adres URL załącznika.

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

Wymagane podczas dodawania załącznika.

z możliwością zapisu
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 Odpowiedź uczestnika. 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.

zapisywalny
attendees[].optional boolean Określa, czy jest to opcjonalny uczestnik. 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 innych wydarzeń specjalnych. Używany, jeśli eventType to "birthday". Niezmienna. z możliwością zapisu
birthdayProperties.type string Typ urodzin lub wydarzenia specjalnego. Możliwe wartości:
  • "anniversary" – rocznica inna niż urodziny. Zawsze ma wartość contact.
  • "birthday" – wydarzenie urodzinowe. jest to wartość domyślna
  • "custom" – data specjalna, której etykieta jest dokładniej określona w polu customTypeName. Zawsze ma contact.
  • "other" – data specjalna, która nie pasuje do żadnej z powyższych kategorii i nie ma etykiety niestandardowej. Zawsze ma wartość 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 wydarzenia 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: z możliwością zapisu
conferenceData nested object informacje związane z konferencją, takie jak szczegóły konferencji 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. zapisywalny
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. (w formacie nazwy strefy czasowej z bazy danych IANA, np. „Europe/Warsaw”). 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 powtarzające się 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 widocznego 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 Czas skupienia. Używany, jeśli eventType to focusTime. zapisywalny
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. zapisywalny
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 Czy uczestnicy inni niż organizator mogą zapraszać inne osoby na wydarzenie. Opcjonalnie: Wartość domyślna to True. z możliwością zapisu
guestsCanModify boolean Określa, czy uczestnicy inni niż organizator mogą modyfikować wydarzenie. Opcjonalnie: Wartość domyślna to 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).
  • długość identyfikatora musi wynosić od 5 do 1024 znaków.
  • identyfikator musi być unikalny dla każdego kalendarza.
Ze względu na globalnie rozproszony charakter systemu nie możemy zagwarantować, że kolizje identyfikatorów zostaną wykryte podczas tworzenia wydarzeń. 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.

zapisywalny
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. z możliwością zapisu
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. (w formacie nazwy strefy czasowej z bazy danych IANA, np. „Europe/Warsaw”). 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 o wydarzeniu poza biurem; Używany, jeśli eventType to outOfOffice. z możliwością zapisu
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ń do zastąpienia to 5. zapisywalny
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.

Wymagane przy dodawaniu przypomnienia.

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

Wymagane przy dodawaniu przypomnienia.

zapisywalny
reminders.useDefault boolean Określa, czy domyślne przypomnienia kalendarza mają zastosowanie do wydarzenia. zapisywalny
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. zapisywalny
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. z możliwością zapisu
start.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
start.timeZone string Strefa czasowa, w której jest podany czas. (w formacie nazwy strefy czasowej z bazy danych IANA, np. „Europe/Warsaw”). 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.

      Wyjątki anulowanych reklam mają wypełnione tylko pola id, recurringEventIdoriginalStartTime. Pozostałe pola mogą być puste.

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

      W przypadku usuniętych zdarzeń z pewnością wypełnione jest tylko pole id.

    W kalendarzu organizatora anulowane wydarzenia nadal zawierają szczegóły (podsumowanie, lokalizację itp.), dzięki czemu można je przywrócić (odzyskać). 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, zapisywalny
transparency string Określa, czy wydarzenie blokuje czas w kalendarzu. Opcjonalnie: Możliwe wartości:
  • opaque” – wartość domyślna. Wydarzenie blokuje czas w kalendarzu. Jest to równoznaczne z ustawieniem Pokaż mnie jako na Zajęty w interfejsie Kalendarza.
  • transparent” – wydarzenie nie blokuje czasu w kalendarzu. Jest to odpowiednik ustawienia Pokaż mój stan jako na Dostępny w interfejsie Kalendarza.
z możliwością zapisu
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ędu na zgodność.
zapisywalny
workingLocationProperties nested object Dane zdarzenia dotyczące miejsca pracy. zapisywalny
workingLocationProperties.customLocation object Jeśli ta opcja jest dostępna, oznacza, że użytkownik pracuje w lokalizacji niestandardowej. zapisywalny
workingLocationProperties.customLocation.label string Opcjonalna dodatkowa etykieta zawierająca dodatkowe informacje. zapisywalny
workingLocationProperties.homeOffice any value Wskazuje, że użytkownik pracuje w domu. zapisywalny
workingLocationProperties.officeLocation object Jeśli jest obecny, określa, że użytkownik pracuje w biurze. z możliwością zapisu
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 Kalendarza w przeglądarce i na urządzeniach mobilnych. Zalecamy odwołanie 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

Aby wywołać tę metodę na podstawie danych na żywo i zobaczyć odpowiedź, użyj narzędzia APIs Explorer.