Typy zdarzeń

Na tej stronie opisujemy właściwość eventType i specyfikacje typów zdarzeń. dostępne w interfejsie Google Calendar API.

Kalendarz Google pozwala użytkownikom tworzyć wydarzenia ogólne, a także są zaprojektowane z myślą o konkretnych zastosowaniach i z właściwościami niestandardowymi.

Typ zdarzenia można znaleźć w tych miejscach interfejsu API:

  • Wszystkie zdarzenia są zwracane z eventType.
  • eventType musi być ustawiony podczas tworzenia lub aktualizowania zasobu wydarzenia. Jeśli nie jest skonfigurowana, Użyty typ: 'default'.
  • eventTypes można określić w elemencie Events:list w celu wyświetlenia listy zdarzeń określonego typu. Jeśli nie podasz typu, wszystkie typy zdarzeń .
  • eventTypes można określić w tagu Events:watch , aby zasubskrybować powiadomienia o określonych typach wydarzeń. Jeśli brak typu określone żądanie spowoduje zasubskrybowanie wszystkich typów zdarzeń.

Zdarzenie domyślne

Zdarzenia z typem default są tworzone i używane jako jedno z głównych Google Calendar API. Obsługują szeroki zakres usługi które pozwalają jeszcze dostosować zdarzenie.

Zobacz Utwórz zdarzenia, aby zacząć z nich korzystać wydarzeniach w Kalendarzu Google.

Urodziny

Urodziny to specjalne całodniowe wydarzenia powtarzane co roku. Mają następujące specyfikacje:

  • eventType jest ustawiony na 'birthday'
  • start i end pól trzeba zdefiniować całodniowe wydarzenie, które trwa dokładnie jeden dzień.
  • Wartość pola visibility musi wynosić 'private'.
  • Wartość pola transparency musi wynosić 'transparent'.
  • muszą odbywać się co roku, co oznacza, że Pole recurrence musi zawierać 'RRULE:FREQ=YEARLY' Przy wydarzeniach urodzinowych przypadających na 29 lutego musisz mieć tę regułę powtarzania: 'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'
  • Może zawierać: colorId, summary i reminders.
  • Nie obsługują żadnych innych właściwości zdarzenia.

Wydarzenia z Gmaila

wydarzenia generowane automatycznie z Gmaila, mają typ zdarzenia 'fromGmail'.

Interfejs Google Calendar API nie pozwala na tworzenie tego typu wydarzeń za pomocą insert.

Interfejs API umożliwia aktualizowanie colorId, reminders, visibility, transparency, status, private i shared usługi rozszerzone przy użyciu aktualizacji i poprawek.

Interfejs API obsługuje polecenia get i lista metod odczytu zdarzeń z Gmail; eventTypes może być ustaw na 'fromGmail', aby wyświetlać tylko zdarzenia wygenerowane w Gmailu. Jeśli brak typu wydarzenia z Gmaila będą wyświetlane razem ze wszystkimi innymi typami wydarzeń.

Interfejs API obsługuje metodę watch subskrybować zmiany w wydarzeniach z Gmaila w Kalendarzu Google. Jeśli brak typu określony, wszystkie typy zdarzeń, w tym 'fromGmail', będą subskrybowane.

Wydarzenia z Gmaila można usunąć za pomocą delete Interfejs API Kalendarza Google.

Zmiana organizatora wydarzenia z Gmaila przy użyciu move lub Metody update nie są obsługiwane.

Czas skupienia, Poza biurem i lokalizacja miejsca pracy

Interfejs Google Calendar API może być używany do tworzenia wydarzeń wyświetlających stanu użytkowników Kalendarza Google.

Te funkcje są dostępne tylko w kalendarzach głównych oraz użytkowników Kalendarza Google. Zobacz Zarządzanie czasem skupienia, statusem poza biurem i pracą zdarzeń związanych z lokalizacją, by dowiedzieć się więcej.

Typy zdarzeń w Google Apps Script

Google Apps Script to działająca w chmurze oparta na języku JavaScript języka skryptowego umożliwiającego tworzenie aplikacji biznesowych, które integrują się Google Workspace skrypty są tworzone w edytorze kodu działającym w przeglądarce, są przechowywane i działające na serwerach Google. Zobacz też Google Apps Script aby zacząć korzystać Apps Script, aby wysyłać żądania do interfejsu Google Calendar API.

Poniżej znajdziesz instrukcje odczytywania wydarzeń i zarządzania nimi za pomocą Google Calendar API jako usługa zaawansowana Skrypt usługi Google Apps Script. Pełną listę zasobów i metod interfejsu Google Calendar API znajdziesz w dokumentacji, zapoznaj się z dokumentacją.

Tworzenie i konfigurowanie skryptu

  1. Utwórz skrypt, przechodząc do script.google.com/create.
  2. W panelu po lewej stronie obok opcji Usługi kliknij Dodaj usługę.
  3. Wybierz Google Calendar API i kliknij Dodaj.
  4. Po włączeniu interfejs API pojawi się w panelu po lewej stronie. Dostępne metody klas w interfejsie API można wyświetlić za pomocą słowa kluczowego Kalendarz w edytorze.

(Opcjonalnie) Aktualizowanie projektu Google Cloud

Z każdym projektem Google Apps Script jest powiązany projekt Google Cloud. Twoje skrypt może używać domyślnego projektu, który Google Apps Script automatycznie co tworzy. Jeśli chcesz użyć niestandardowego projektu Google Cloud, zapoznaj się z artykułem Przełącz na w innym standardowym projekcie Cloud. Po skonfigurowaniu projektu Google Cloud wybierz po lewej stronie Edytor , aby wrócić do za pomocą edytora kodu.

Dodaj kod do skryptu

Z przykładowego kodu poniżej dowiesz się, jak wyświetlać, odczytywać i tworzyć zdarzenia za pomocą różnych wartości parametru eventType.

  1. Wklej poniższy kod do edytora kodu.

    const CALENDAR_ID = 'CALENDAR_ID' || 'primary';
    
    /** Lists default events. */
    function listDefaultEvents() {
      listEvents('default');
    }
    
    /** Lists events from Gmail. */
    function listEventsFromGmail() {
      listEvents('fromGmail');
    }
    
    /**
      * Lists events with the given event type. If no type is specified, lists all events.
      * See https://developers.google.com/calendar/api/v3/reference/events/list
      */
    function listEvents(eventType = undefined) {
      // Query parameters for the list request.
      const optionalArgs = {
        eventTypes: eventType ? [eventType] : undefined,
        singleEvents: true,
        timeMax: '2024-07-30T00:00:00+01:00',
        timeMin: '2024-07-29T00:00:00+01:00',
      }
      try {
        var response = Calendar.Events.list(CALENDAR_ID, optionalArgs);
        response.items.forEach(event => console.log(event));
      } catch (exception) {
        console.log(exception.message);
      }
    }
    
    /**
      * Reads the event with the given eventId.
      * See https://developers.google.com/calendar/api/v3/reference/events/get
      */
    function readEvent() {
      try {
        var response = Calendar.Events.get(CALENDAR_ID, 'EVENT_ID');
        console.log(response);
      } catch (exception) {
        console.log(exception.message);
      }
    }
    
    /** Creates a default event. */
    function createDefaultEvent() {
      const event = {
        start: { dateTime: '2024-07-30T10:30:00+01:00'},
        end: { dateTime: '2024-07-30T12:30:00+01:00'},
        description: 'Created from Apps Script.',
        eventType: 'default',
        summary: 'Sample event',
      }
      createEvent(event);
    }
    
    /**
      * Creates a Calendar event.
      * See https://developers.google.com/calendar/api/v3/reference/events/insert
      */
    function createEvent(event) {
    
      try {
        var response = Calendar.Events.insert(event, CALENDAR_ID);
        console.log(response);
      } catch (exception) {
        console.log(exception.message);
      }
    }
    

    Zastąp następujące elementy:

    • CALENDAR_ID: adres e-mail kalendarza do pobierania i tworzenia zdarzeń. Ta stała jest początkowo ustawiona na 'primary': słowo kluczowe umożliwiające dostęp do kalendarza głównego zalogowanym użytkownikiem. Zmiana tej wartości umożliwia odczytywanie wydarzeń w kalendarzach innym użytkownikom, do których masz dostęp.
    • EVENT_ID: identyfikator zdarzenia. Możesz wywołać funkcję Events:list (Zdarzenia: lista) do pobrania identyfikatorów zdarzeń.

Uruchamianie przykładowego kodu

  1. Nad edytorem kodu wybierz z menu funkcję do uruchomienia. i kliknij Uruchom.
  2. Przy pierwszym uruchomieniu poprosi o autoryzację dostępu. Sprawdź i zezwól Apps Script, aby uzyskać dostęp do kalendarza.
  3. Wyniki wykonania skryptu możesz sprawdzić w Dziennik wykonywania widoczny u dołu okna.