활동 유형

이 페이지에서는 eventType 속성과 이벤트 유형의 사양을 설명합니다. Google Calendar API에서 사용할 수 있습니다.

Google Calendar를 사용하면 사용자는 일반적인 일정뿐만 아니라 커스텀 속성을 사용하여 설계됩니다.

이벤트 유형은 API의 다음 위치에서 확인할 수 있습니다.

  • 모든 이벤트는 eventType와 함께 반환됩니다.
  • eventType 드림 이벤트 리소스를 만들거나 업데이트할 때 설정해야 합니다. 설정하지 않으면 'default' 유형이 사용됩니다.
  • eventTypes 드림 Events:list에서 지정할 수 있습니다. 호출을 사용하여 특정 유형의 이벤트를 나열합니다. 유형을 지정하지 않으면 모든 이벤트 유형이 반환됩니다.
  • eventTypes 드림 Events:watch에서 지정할 수 있습니다. 호출을 사용하여 특정 유형의 이벤트에 대한 업데이트를 구독합니다. 유형이 없는 경우 지정된 경우 요청은 모든 이벤트 유형을 구독하게 됩니다.

기본 이벤트

이벤트 유형이 default인 이벤트가 생성되어 기본 Google Calendar API의 리소스입니다. 이들은 다양한 속성 이벤트를 추가로 맞춤설정하는 데 사용할 수 있습니다.

자세한 내용은 작업을 시작할 이벤트를 만듭니다. Google Calendar 일정

생일

생일은 매년 반복되는 특별한 종일 일정입니다. 그들은 다음 사양을 충족해야 합니다.

  • eventType가 다음과 같이 설정됩니다. 'birthday'입니다.
  • startend 필드는 정확히 하루 동안 진행되는 종일 일정입니다.
  • visibility 필드 값 'private'이어야 합니다.
  • transparency 필드 값 'transparent'이어야 합니다.
  • 매년 반복해야 합니다. 즉, recurrence 입력란은 다음과 같아야 합니다. 'RRULE:FREQ=YEARLY'입니다. 2월 29일에 해당하는 생일 이벤트는 다음과 같은 반복 규칙을 사용합니다. 'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'
  • colorId summaryreminders:
  • 다른 이벤트 속성은 지원하지 않습니다.

Gmail에 포함된 일정

Gmail에서 자동으로 생성된 일정 'fromGmail' 이벤트 유형이 있어야 합니다.

Google Calendar API에서는 다음을 사용하여 이 일정 유형을 만들 수 없습니다. insert 메서드와 함께 사용할 수 있습니다.

API를 사용하면 colorId, reminders, visibility, transparency, status, privateshared 업데이트를 사용하는 확장된 속성 patch 메서드와 연결됩니다.

API는 getlist 메서드를 사용하여 Gmail. eventTypes는 Gmail에서 생성된 이벤트만 표시하려면 'fromGmail'로 설정합니다. 유형이 없는 경우 지정하면 Gmail에 포함된 일정이 다른 모든 일정 유형과 함께 나열됩니다.

API는 watch 메서드를 지원하여 Google Calendar에서 Gmail에 포함된 일정의 변경사항을 구독할 수 있습니다. 유형이 없는 경우 지정하면 'fromGmail'을(를) 포함한 모든 이벤트 유형이 구독됩니다.

Gmail에 포함된 일정은 delete 메서드 Google 캘린더 API

Gmail에서 일정 주최자 변경 move 또는 update 메서드는 지원되지 않습니다.

방해 금지 시간, 부재중, 근무 위치

Google Calendar API를 사용하여 상태를 변경할 수 있습니다.

이러한 기능은 기본 캘린더에서만 사용할 수 있으며 Google Calendar 사용자 방해 금지 시간, 부재중, 근무 중 관리하기 위치 이벤트를 참조하세요.

Google Apps Script에서 이벤트 유형 살펴보기

Google Apps Script는 자바스크립트 기반 클라우드입니다. 프로그래밍 언어를 기반으로 하는 비즈니스 애플리케이션을 Google Workspace 스크립트는 브라우저 기반 코드 편집기에서 개발합니다. Google 서버에 저장되고 실행됩니다. Google Apps Script도 참조하세요. 빠른 시작을 참조하여 Google Calendar API에 요청을 보내는 Apps Script

다음 안내에서는 Google Calendar API를 Google Apps Script Google Calendar API 리소스 및 메서드의 전체 목록은 참조 문서를 확인하세요.

스크립트 만들기 및 설정

  1. 다음으로 이동하여 스크립트를 만듭니다. script.google.com/create.
  2. 왼쪽 창에서 서비스 옆에 있는 '서비스 추가'를 클릭합니다.
  3. Google Calendar API를 선택하고 추가를 클릭합니다.
  4. 사용 설정하면 API가 왼쪽 창에 표시됩니다. 사용 가능한 메서드 및 클래스는 편집기에서 Calendar 키워드를 사용하여 나열할 수 있습니다.

(선택사항) Google Cloud 프로젝트 업데이트

각 Google Apps Script 프로젝트에는 연결된 Google Cloud 프로젝트가 있습니다. 내 기본 프로젝트를 Google Apps Script에서 자동으로 사용하도록 하는 만듭니다. 커스텀 Google Cloud 프로젝트를 사용하려면 Google Cloud 다른 표준 Cloud 프로젝트와는 다릅니다. Google Cloud 프로젝트를 설정한 후 왼쪽의 편집기 를 선택하여 살펴보겠습니다

스크립트에 코드 추가

다음 코드 샘플은 다음을 사용하여 이벤트를 나열, 읽기, 만드는 방법을 보여줍니다. eventType 값이 다를 수 있습니다.

  1. 코드 편집기에 다음을 붙여넣습니다.

    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);
      }
    }
    

    다음을 바꿉니다.

    • CALENDAR_ID: 캘린더의 이메일 주소 이벤트를 검색하고 만들 수 있습니다 이 상수는 처음에 'primary': 표시됩니다. 이 값을 변경하면 액세스할 수 있습니다.
    • EVENT_ID: 이벤트의 ID입니다. 다음과 같이 호출할 수 있습니다. Events:list를 사용하여 이벤트 ID를 가져옵니다.

코드 샘플 실행

  1. 코드 편집기 위의 드롭다운 메뉴에서 실행할 함수를 선택합니다. 실행을 클릭합니다.
  2. 최초 실행에서는 액세스를 승인하라는 메시지가 표시됩니다. 검토 및 허용 캘린더에 액세스하려면 Apps Script를 사용하세요.
  3. 스크립트 실행 결과는 실행 로그: 창 하단에 표시됩니다.