Events

Calendar API는 다양한 버전의 이벤트 리소스를 제공합니다. 자세한 내용은 이벤트 정보를 참고하세요.

이 리소스에 대한 메소드 목록은 이 페이지의 하단에 나와 있습니다.

리소스 표현

{
  "kind": "calendar#event",
  "etag": etag,
  "id": string,
  "status": string,
  "htmlLink": string,
  "created": datetime,
  "updated": datetime,
  "summary": string,
  "description": string,
  "location": string,
  "colorId": string,
  "creator": {
    "id": string,
    "email": string,
    "displayName": string,
    "self": boolean
  },
  "organizer": {
    "id": string,
    "email": string,
    "displayName": string,
    "self": boolean
  },
  "start": {
    "date": date,
    "dateTime": datetime,
    "timeZone": string
  },
  "end": {
    "date": date,
    "dateTime": datetime,
    "timeZone": string
  },
  "endTimeUnspecified": boolean,
  "recurrence": [
    string
  ],
  "recurringEventId": string,
  "originalStartTime": {
    "date": date,
    "dateTime": datetime,
    "timeZone": string
  },
  "transparency": string,
  "visibility": string,
  "iCalUID": string,
  "sequence": integer,
  "attendees": [
    {
      "id": string,
      "email": string,
      "displayName": string,
      "organizer": boolean,
      "self": boolean,
      "resource": boolean,
      "optional": boolean,
      "responseStatus": string,
      "comment": string,
      "additionalGuests": integer
    }
  ],
  "attendeesOmitted": boolean,
  "extendedProperties": {
    "private": {
      (key): string
    },
    "shared": {
      (key): string
    }
  },
  "hangoutLink": string,
  "conferenceData": {
    "createRequest": {
      "requestId": string,
      "conferenceSolutionKey": {
        "type": string
      },
      "status": {
        "statusCode": string
      }
    },
    "entryPoints": [
      {
        "entryPointType": string,
        "uri": string,
        "label": string,
        "pin": string,
        "accessCode": string,
        "meetingCode": string,
        "passcode": string,
        "password": string
      }
    ],
    "conferenceSolution": {
      "key": {
        "type": string
      },
      "name": string,
      "iconUri": string
    },
    "conferenceId": string,
    "signature": string,
    "notes": string,
  },
  "gadget": {
    "type": string,
    "title": string,
    "link": string,
    "iconLink": string,
    "width": integer,
    "height": integer,
    "display": string,
    "preferences": {
      (key): string
    }
  },
  "anyoneCanAddSelf": boolean,
  "guestsCanInviteOthers": boolean,
  "guestsCanModify": boolean,
  "guestsCanSeeOtherGuests": boolean,
  "privateCopy": boolean,
  "locked": boolean,
  "reminders": {
    "useDefault": boolean,
    "overrides": [
      {
        "method": string,
        "minutes": integer
      }
    ]
  },
  "source": {
    "url": string,
    "title": string
  },
  "workingLocationProperties": {
    "type": string,
    "homeOffice": (value),
    "customLocation": {
      "label": string
    },
    "officeLocation": {
      "buildingId": string,
      "floorId": string,
      "floorSectionId": string,
      "deskId": string,
      "label": string
    }
  },
  "outOfOfficeProperties": {
    "autoDeclineMode": string,
    "declineMessage": string
  },
  "focusTimeProperties": {
    "autoDeclineMode": string,
    "declineMessage": string,
    "chatStatus": string
  },
  "attachments": [
    {
      "fileUrl": string,
      "title": string,
      "mimeType": string,
      "iconLink": string,
      "fileId": string
    }
  ],
  "birthdayProperties": {
    "contact": string,
    "type": string,
    "customTypeName": string
  },
  "eventType": string
}
속성 이름 설명 참고
anyoneCanAddSelf boolean 누구나 자신을 이벤트에 초대할 수 있는지 여부 (지원 중단됨) 선택사항입니다. 기본값은 False입니다. 쓰기 가능
attachments[] list 이벤트의 파일 첨부파일입니다.

첨부파일을 수정하려면 supportsAttachments 요청 매개변수를 true로 설정해야 합니다.

첨부파일은 일정당 최대 25개까지 만들 수 있습니다.

attachments[].fileId string 첨부된 파일의 ID입니다. 읽기 전용입니다.

Google Drive 파일의 경우 Drive API의 해당 Files 리소스 항목의 ID입니다.

attachments[].fileUrl string 첨부파일의 URL 링크입니다.

Google Drive 파일 첨부파일을 추가하려면 Drive API의 Files 리소스의 alternateLink 속성과 동일한 형식을 사용합니다.

첨부파일을 추가할 때 필요합니다.

쓰기 가능
attachments[].mimeType string 첨부파일의 인터넷 미디어 유형 (MIME 유형)입니다.
attachments[].title string 첨부파일 제목
attendeesOmitted boolean 참석자가 이벤트의 표현에서 생략되었을 수 있는지 여부입니다. 이벤트를 검색할 때 maxAttendee 쿼리 매개변수로 지정된 제한사항으로 인해 이러한 문제가 발생할 수 있습니다. 이벤트를 업데이트할 때 이 속성을 사용하여 참석자의 응답만 업데이트할 수 있습니다. 선택사항입니다. 기본값은 False입니다. 쓰기 가능
attendees[] list 이벤트 참석자입니다. 다른 캘린더 사용자와 일정을 예약하는 방법에 대한 자세한 내용은 참석자가 있는 일정 가이드를 참조하세요. 서비스 계정에서 참석자 목록을 채우려면 도메인 전체 권한 위임을 사용해야 합니다. 쓰기 가능
attendees[].additionalGuests integer 추가 투숙객 수 선택사항입니다. 기본값은 0입니다. 쓰기 가능
attendees[].comment string 참석자의 응답 댓글입니다. 선택사항입니다. 쓰기 가능
attendees[].displayName string 참석자 이름입니다(제공되는 경우). 선택사항입니다. 쓰기 가능
attendees[].email string 참석자의 이메일 주소(제공되는 경우) 참석자를 추가할 때 이 필드가 있어야 합니다. RFC5322에 따라 유효한 이메일 주소여야 합니다.

참석자를 추가할 때 필요합니다.

쓰기 가능
attendees[].id string 참석자의 프로필 ID입니다(사용 가능한 경우).
attendees[].optional boolean 참석자가 선택사항인지 여부입니다. 선택사항입니다. 기본값은 False입니다. 쓰기 가능
attendees[].organizer boolean 참석자가 이벤트 주최자인지 여부입니다. 읽기 전용입니다. 기본값은 False입니다.
attendees[].resource boolean 참석자가 리소스인지 여부입니다. 참석자가 이벤트에 처음 추가될 때만 설정할 수 있습니다. 후속 수정사항은 무시됩니다. 선택사항입니다. 기본값은 False입니다. 쓰기 가능
attendees[].responseStatus string 참석자의 응답 상태입니다. 가능한 값은 다음과 같습니다.
  • 'needsAction' - 참석자가 초대에 응답하지 않았습니다 (신규 일정에 권장됨).
  • 'declined' - 참석자가 초대를 거부했습니다.
  • 'tentative' - 참석자가 초대를 잠정적으로 수락했습니다.
  • 'accepted' - 참석자가 초대를 수락했습니다.
쓰기 가능
attendees[].self boolean 이 항목이 이 일정 사본이 표시되는 캘린더를 나타내는지 여부입니다. 읽기 전용입니다. 기본값은 False입니다.
birthdayProperties nested object 생일 또는 특별한 날 데이터 eventType"birthday"인 경우에 사용됩니다. 변경할 수 없습니다. 쓰기 가능
birthdayProperties.contact string 이 생일 이벤트가 연결된 연락처의 리소스 이름입니다. 이를 사용하여 People API에서 연락처 세부정보를 가져올 수 있습니다. 형식은 "people/c12345"입니다. 읽기 전용입니다.
birthdayProperties.customTypeName string 이 이벤트에 지정된 맞춤 유형 라벨입니다. birthdayProperties.type"custom"로 설정된 경우 채워집니다. 읽기 전용입니다.
birthdayProperties.type string 생일 또는 특별 이벤트 유형입니다. 가능한 값은 다음과 같습니다.
  • "anniversary" - 생일이 아닌 기념일입니다. 항상 contact가 있습니다.
  • "birthday" - 생일 이벤트입니다. 기본값입니다.
  • "custom" - customTypeName 필드에 라벨이 추가로 지정된 특별한 날짜입니다. 항상 contact가 있습니다.
  • "other" - 다른 카테고리에 속하지 않고 맞춤 라벨이 없는 특별한 날짜입니다. 항상 contact가 있습니다.
  • "self" - 캘린더 소유자의 생일입니다. contact 속성을 가질 수 없습니다.
Calendar API는 "birthday" 유형의 일정 생성만 지원합니다. 이벤트가 생성된 후에는 유형을 변경할 수 없습니다.
쓰기 가능
colorId string 이벤트의 색상입니다. 색상 정의의 event 섹션에 있는 항목을 참조하는 ID입니다 ( 색상 엔드포인트 참고). 선택사항입니다. 쓰기 가능
conferenceData nested object Google Meet 회의 세부정보와 같은 회의 관련 정보입니다. 새 회의 세부정보를 만들려면 createRequest 필드를 사용하세요. 변경사항을 유지하려면 모든 이벤트 수정 요청에 대해 conferenceDataVersion 요청 매개변수를 1로 설정해야 합니다. 쓰기 가능
conferenceData.conferenceId string 회의 ID입니다.

개발자가 회의를 추적하는 데 사용할 수 있으며 사용자에게 표시해서는 안 됩니다.

ID 값은 회의 솔루션 유형마다 다르게 구성됩니다.

  • eventHangout: ID가 설정되지 않았습니다. (이 회의 유형은 지원 중단되었습니다.)
  • eventNamedHangout: ID는 행아웃의 이름입니다. 이 회의 유형은 지원 중단되었습니다.
  • hangoutsMeet: ID는 10자리 회의 코드입니다(예: aaa-bbbb-ccc).
  • addOn: 서드 파티 제공업체가 ID를 정의합니다.
선택사항입니다.

conferenceData.conferenceSolution nested object 회의 솔루션(예: Google Meet)

생성 요청이 실패한 회의의 경우 설정을 해제합니다.

conferenceSolutionentryPoint 1개 이상 또는 createRequest가 필요합니다.

conferenceData.conferenceSolution.iconUri string 이 솔루션의 사용자에게 표시되는 아이콘입니다.
conferenceData.conferenceSolution.key nested object 이 이벤트의 회의 솔루션을 고유하게 식별할 수 있는 키입니다.
conferenceData.conferenceSolution.key.type string 회의 솔루션 유형입니다.

클라이언트가 익숙하지 않거나 비어 있는 유형을 발견하더라도 진입점을 계속 표시할 수 있어야 합니다. 하지만 수정은 허용되지 않습니다.

사용할 수 있는 값은 다음과 같습니다.

  • 소비자용 행아웃의 경우 "eventHangout" (지원 중단됨, 기존 일정에는 이 회의 솔루션 유형이 표시될 수 있지만 새 회의는 만들 수 없음)
  • Google Workspace 사용자용 기존 행아웃의 경우 "eventNamedHangout" (지원 중단됨, 기존 일정에는 이 회의 솔루션 유형이 표시될 수 있지만 새 회의는 만들 수 없음)
  • Google Meet용 "hangoutsMeet" (http://meet.google.com)
  • 서드 파티 회의 제공업체의 경우 "addOn"

conferenceData.conferenceSolution.name string 이 솔루션의 사용자에게 표시되는 이름입니다. 현지화되지 않았습니다.
conferenceData.createRequest nested object 새 회의를 생성하고 이벤트에 연결하기 위한 요청입니다. 데이터는 비동기식으로 생성됩니다. 데이터가 있는지 확인하려면 status 필드를 확인하세요.

conferenceSolution 및 하나 이상의 entryPoint 또는 createRequest가 필요합니다.

conferenceData.createRequest.conferenceSolutionKey nested object 회의 솔루션(예: 행아웃 또는 Google Meet)
conferenceData.createRequest.conferenceSolutionKey.type string 회의 솔루션 유형입니다.

클라이언트가 익숙하지 않거나 비어 있는 유형을 발견하더라도 진입점을 계속 표시할 수 있어야 합니다. 하지만 수정은 허용되지 않습니다.

사용할 수 있는 값은 다음과 같습니다.

  • 소비자용 행아웃의 경우 "eventHangout" (지원 중단됨, 기존 일정에는 이 회의 솔루션 유형이 표시될 수 있지만 새 회의는 만들 수 없음)
  • Google Workspace 사용자용 기존 행아웃의 경우 "eventNamedHangout" (지원 중단됨, 기존 일정에는 이 회의 솔루션 유형이 표시될 수 있지만 새 회의는 만들 수 없음)
  • Google Meet용 "hangoutsMeet" (http://meet.google.com)
  • 서드 파티 회의 제공업체의 경우 "addOn"

conferenceData.createRequest.requestId string 이 요청에 대해 클라이언트에서 생성한 고유 ID입니다.

클라이언트는 새로운 요청이 있을 때마다 이 ID를 재생성해야 합니다. 제공된 ID가 이전 요청과 동일하면 요청이 무시됩니다.

conferenceData.createRequest.status nested object 회의 생성 요청의 상태입니다.
conferenceData.createRequest.status.statusCode string 회의 생성 요청의 현재 상태입니다. 읽기 전용입니다.

사용할 수 있는 값은 다음과 같습니다.

  • "pending": 회의 생성 요청이 아직 처리 중입니다.
  • "success": 회의 생성 요청이 성공하고 진입점이 채워집니다.
  • "failure": 회의 생성 요청이 실패했습니다. 진입점이 없습니다.

conferenceData.entryPoints[] list URL 또는 전화번호와 같은 개별 회의 진입점에 관한 정보입니다.

모든 사용자가 동일한 회의에 속해 있어야 합니다.

conferenceSolution 및 하나 이상의 entryPoint 또는 createRequest가 필요합니다.

conferenceData.entryPoints[].accessCode string 회의에 액세스하는 액세스 코드입니다. 최대 길이는 128자(영문 기준)입니다.

새 회의 데이터를 만들 때는 회의 제공업체에서 사용하는 용어와 일치하는 {meetingCode, accessCode, passcode, password, pin} 입력란의 하위 집합만 채웁니다. 채워진 필드만 표시되어야 합니다.

선택사항입니다.

conferenceData.entryPoints[].entryPointType string 회의 진입점 유형입니다.

가능한 값은 다음과 같습니다.

  • "video" - HTTP를 통해 회의에 참여합니다. 회의에는 video 진입점이 0개 또는 1개 있을 수 있습니다.
  • "phone" - 전화번호를 다이얼하여 회의에 참여합니다. 회의에는 0개 이상의 phone 진입점이 있을 수 있습니다.
  • "sip" - SIP를 통해 회의에 참여합니다. 회의에는 sip 진입점이 0개 또는 1개 있을 수 있습니다.
  • "more" - 추가 전화번호와 같은 추가 회의 참석 안내 회의에는 more 진입점이 0개 또는 1개 있을 수 있습니다. more 진입점만 있는 회의는 유효한 회의가 아닙니다.

conferenceData.entryPoints[].label string URI의 라벨입니다. 최종 사용자에게 표시됩니다. 현지화되지 않았습니다. 최대 길이는 512자(영문 기준)입니다.

예:

  • video: meet.google.com/aaa-bbbb-ccc
  • phone: +1 123 268 2601
  • sip: 12345678@altostrat.com
  • more: 입력해서는 안 됨

선택사항입니다.

conferenceData.entryPoints[].meetingCode string 회의에 액세스하기 위한 회의 코드입니다. 최대 길이는 128자(영문 기준)입니다.

새 회의 데이터를 만들 때는 회의 제공업체에서 사용하는 용어와 일치하는 {meetingCode, accessCode, passcode, password, pin} 입력란의 하위 집합만 채웁니다. 채워진 필드만 표시되어야 합니다.

선택사항입니다.

conferenceData.entryPoints[].passcode string 회의에 액세스하기 위한 비밀번호입니다. 최대 길이는 128자(영문 기준)입니다.

새 회의 데이터를 만들 때 회의 제공업체에서 사용하는 용어와 일치하는 {meetingCode, accessCode, passcode, password, pin} 필드의 하위 집합만 채웁니다. 채워진 필드만 표시되어야 합니다.

conferenceData.entryPoints[].password string 회의에 액세스할 비밀번호입니다. 최대 길이는 128자(영문 기준)입니다.

새 회의 데이터를 만들 때는 회의 제공업체에서 사용하는 용어와 일치하는 {meetingCode, accessCode, passcode, password, pin} 입력란의 하위 집합만 채웁니다. 채워진 필드만 표시되어야 합니다.

선택사항입니다.

conferenceData.entryPoints[].pin string 회의에 액세스하기 위한 PIN입니다. 최대 길이는 128자(영문 기준)입니다.

새 회의 데이터를 만들 때는 회의 제공업체에서 사용하는 용어와 일치하는 {meetingCode, accessCode, passcode, password, pin} 입력란의 하위 집합만 채웁니다. 채워진 필드만 표시되어야 합니다.

선택사항입니다.

conferenceData.entryPoints[].uri string 진입점의 URI입니다. 최대 길이는 1,300자(영문 기준)입니다.

형식:

  • video, http: 또는 https: 스키마의 경우 필요합니다.
  • phone의 경우 tel: 스키마가 필요합니다. URI에는 전체 다이얼 시퀀스가 포함되어야 합니다 (예: tel:+12345678900,,,123456789;1234).
  • sip의 경우 sip: 스키마가 필요합니다(예: sip:12345678@myprovider.com).
  • more, http: 또는 https: 스키마의 경우 필요합니다.

conferenceData.notes string 사용자에게 표시할 추가 메모 (예: 도메인 관리자의 안내, 법적 고지) HTML을 포함할 수 있습니다. 최대 길이는 2,048자(영문 기준)입니다. 선택사항입니다.
conferenceData.signature string 회의 데이터의 서명입니다.

서버 측에서 생성됩니다.

생성 요청이 실패한 회의의 경우 설정을 해제합니다.

대기 중인 생성 요청이 있는 회의의 경우 선택사항입니다.

created datetime 이벤트 생성 시간 (RFC3339 타임스탬프로 표시됨) 읽기 전용입니다.
creator object 이벤트를 만든 사용자입니다. 읽기 전용입니다.
creator.displayName string 크리에이터의 이름입니다(해당하는 경우).
creator.email string 크리에이터의 이메일 주소(제공되는 경우)
creator.id string 크리에이터의 프로필 ID(제공되는 경우)
creator.self boolean 크리에이터가 이 이벤트 사본이 표시되는 캘린더와 일치하는지 여부입니다. 읽기 전용입니다. 기본값은 False입니다.
description string 이벤트에 관한 설명입니다. HTML을 포함할 수 있습니다. 선택사항입니다. 쓰기 가능
end nested object 이벤트의 종료 시간 (제외)입니다. 반복 이벤트의 경우 첫 번째 인스턴스의 종료 시간입니다.
end.date date 종일 일정인 경우 'yyyy-mm-dd' 형식의 날짜입니다. 쓰기 가능
end.dateTime datetime 시간 (결합된 날짜-시간 값, RFC3339 형식) timeZone에 시간대가 명시적으로 지정되어 있지 않은 한 시간대 오프셋이 필요합니다. 쓰기 가능
end.timeZone string 시간이 지정된 시간대입니다. (IANA 시간대 데이터베이스 이름 형식으로 지정됩니다(예: 'Europe/Zurich'). 반복되는 일정의 경우 이 필드는 필수이며 반복이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료의 맞춤 시간대를 나타냅니다. 쓰기 가능
endTimeUnspecified boolean 종료 시간이 실제로 지정되지 않았는지 여부입니다. 이 속성이 true로 설정되더라도 호환성 문제로 인해 종료 시간이 계속 제공됩니다. 기본값은 False입니다.
etag etag 리소스의 ETag입니다.
eventType string 이벤트의 특정 유형입니다. 이벤트를 만든 후에는 수정할 수 없습니다. 가능한 값은 다음과 같습니다.
  • "birthday" - 매년 반복되는 특별한 종일 일정입니다.
  • 'default' - 일반 이벤트 또는 추가로 지정되지 않은 이벤트입니다.
  • 'focusTime': 방해 금지 시간 이벤트입니다.
  • 'fromGmail': Gmail의 일정입니다. 이 유형의 이벤트는 만들 수 없습니다.
  • 'outOfOffice' - 부재중 일정입니다.
  • 'workingLocation' - 근무 위치 이벤트입니다.
쓰기 가능
extendedProperties object 이벤트의 확장 속성입니다.
extendedProperties.private object 이 캘린더에 표시되는 일정 사본에 비공개인 속성입니다. 쓰기 가능
extendedProperties.private.(key) string 비공개 속성의 이름과 해당 값
extendedProperties.shared object 다른 참석자의 캘린더에 있는 일정 사본 간에 공유되는 속성입니다. 쓰기 가능
extendedProperties.shared.(key) string 공유 속성의 이름과 해당 값
focusTimeProperties nested object 방해 금지 시간 이벤트 데이터 eventTypefocusTime인 경우에 사용됩니다. 쓰기 가능
focusTimeProperties.autoDeclineMode string 방해 금지 시간 일정과 겹치는 회의 초대를 거부할지 여부입니다. 유효한 값은 declineNone(회의 초대가 거부되지 않음), declineAllConflictingInvitations(일정과 겹치는 모든 회의 초대가 거부됨), declineOnlyNewConflictingInvitations(집중 시간 일정이 있는 동안 도착하는 새로운 회의 초대만 거부됨)입니다.
focusTimeProperties.chatStatus string Chat 및 관련 제품에서 사용자를 표시하는 상태입니다. 이 값은 available 또는 doNotDisturb 중 하나입니다.
focusTimeProperties.declineMessage string Calendar에서 기존 일정 또는 새 초대가 자동으로 거부되는 경우 설정할 응답 메시지입니다.
gadget object 이 이벤트를 확장하는 가젯입니다. 가젯은 지원 중단되었습니다. 이 구조는 생일 캘린더 메타데이터를 반환하는 데만 사용됩니다.
gadget.display string 가젯의 디스플레이 모드입니다. 지원 중단되었습니다. 가능한 값은 다음과 같습니다.
  • 'icon' - 캘린더 보기에서 일정 제목 옆에 가젯이 표시됩니다.
  • 'chip' - 이벤트를 클릭하면 가젯이 표시됩니다.
쓰기 가능
gadget.height integer 픽셀 단위의 가젯 높이입니다. 높이는 0보다 큰 정수여야 합니다. 선택사항입니다. 지원 중단되었습니다. 쓰기 가능
gadget.preferences object 환경설정을 클릭합니다. 쓰기 가능
gadget.preferences.(key) string 환경설정 이름 및 해당 값입니다.
gadget.title string 가젯의 제목입니다. 지원 중단되었습니다. 쓰기 가능
gadget.type string 가젯의 유형입니다. 지원 중단되었습니다. 쓰기 가능
gadget.width integer 가젯의 너비(픽셀)입니다. 너비는 0보다 큰 정수여야 합니다. 선택사항입니다. 지원 중단되었습니다. 쓰기 가능
guestsCanInviteOthers boolean 주최자가 아닌 참석자가 일정에 다른 사용자를 초대할 수 있는지 여부입니다. 선택사항입니다. 기본값은 True입니다. 쓰기 가능
guestsCanModify boolean 주최자 이외의 참석자가 이벤트를 수정할 수 있는지를 나타냅니다. 선택사항입니다. 기본값은 False입니다. 쓰기 가능
guestsCanSeeOtherGuests boolean 주최자 이외의 참석자가 이벤트 참석자를 볼 수 있는지 여부입니다. 선택사항입니다. 기본값은 True입니다. 쓰기 가능
iCalUID string RFC5545에 정의된 이벤트 고유 식별자입니다. 캘린더 시스템에서 이벤트를 고유하게 식별하는 데 사용되며 import 메서드를 통해 이벤트를 가져올 때 제공해야 합니다.

iCalUIDid는 동일하지 않으며 이벤트 생성 시 둘 중 하나만 제공해야 합니다. 시맨틱스의 한 가지 차이점은 반복 이벤트에서 한 이벤트의 일치하는 모든 일치하는 id가 모두 동일한 iCalUID를 공유한다는 것입니다. iCalUID를 사용하여 이벤트를 검색하려면 iCalUID 매개변수를 사용하여 이벤트 목록 메서드를 호출하세요. id를 사용하여 이벤트를 가져오려면 events.get 메서드를 호출합니다.

id string 이벤트의 불투명 식별자입니다. 새 단일 일정 또는 반복 일정을 만들 때 일정의 ID를 지정할 수 있습니다. 제공된 ID는 다음 규칙을 따라야 합니다.
  • ID에 허용되는 문자는 base32hex 인코딩에 사용되는 문자(소문자 a~v 및 숫자 0~9)입니다.RFC2938의 3. 1.2 섹션을 참고하세요.
  • ID 길이는 5~1,024자(영문 기준)여야 합니다.
  • ID는 캘린더마다 고유해야 합니다.
전 세계에 분산된 시스템의 특성으로 인해 이벤트 생성 시 ID 충돌이 감지된다고 보장할 수 없습니다. 충돌 위험을 최소화하려면 RFC4122에 설명된 것과 같은 기존 UUID 알고리즘을 사용하는 것이 좋습니다.

ID를 지정하지 않으면 서버에서 자동으로 생성합니다.

icalUIDid는 동일하지 않으며 이벤트 생성 시 둘 중 하나만 제공해야 합니다. 시맨틱스의 한 가지 차이점은 반복 이벤트에서 한 이벤트의 모든 발생 횟수에 서로 다른 id가 있지만 모두 동일한 icalUID를 공유한다는 점입니다.

쓰기 가능
kind string 리소스 유형 ("calendar#event")입니다.
location string 자유 형식 텍스트로 표시된 이벤트의 지리적 위치입니다. 선택사항입니다. 쓰기 가능
locked boolean 기본 이벤트 필드 'summary', 'description', 'location', 'start', 'end' 또는 'recurrence'를 변경할 수 없는 잠긴 이벤트 사본인지 여부입니다. 기본값은 False입니다. 읽기 전용입니다.
organizer object 일정 주최자입니다. 주최자가 참석자이기도 한 경우 attendees에 별도의 항목이 표시되고 organizer 필드가 True로 설정됩니다. 주최자를 변경하려면 이동 작업을 사용합니다. 이벤트를 가져오는 경우를 제외하고 읽기 전용입니다. 쓰기 가능
organizer.displayName string 주최자 이름입니다(사용 가능한 경우). 쓰기 가능
organizer.email string 주최자의 이메일 주소(제공되는 경우) RFC5322에 따라 유효한 이메일 주소여야 합니다. 쓰기 가능
organizer.id string 주최자의 프로필 ID입니다(해당하는 경우).
organizer.self boolean 주최자가 이 일정 사본이 표시되는 캘린더에 해당하는지 여부입니다. 읽기 전용입니다. 기본값은 False입니다.
originalStartTime nested object 반복 일정의 경우 반복 일정 ID로 식별된 반복 일정의 반복 데이터에 따라 일정이 시작되는 시간입니다. 인스턴스가 다른 시간으로 이동하더라도 반복 이벤트 시리즈 내에서 인스턴스를 고유하게 식별합니다. 변경할 수 없습니다.
originalStartTime.date date 종일 일정인 경우 'yyyy-mm-dd' 형식의 날짜입니다. 쓰기 가능
originalStartTime.dateTime datetime 시간 (결합된 날짜-시간 값, RFC3339 형식) timeZone에 시간대가 명시적으로 지정되어 있지 않은 한 시간대 오프셋이 필요합니다. 쓰기 가능
originalStartTime.timeZone string 시간이 지정된 시간대입니다. (IANA 시간대 데이터베이스 이름 형식으로 지정됩니다(예: 'Europe/Zurich'). 반복되는 일정의 경우 이 필드는 필수이며 반복이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료의 맞춤 시간대를 나타냅니다. 쓰기 가능
outOfOfficeProperties nested object 부재중 이벤트 데이터입니다. eventTypeoutOfOffice인 경우에 사용됩니다. 쓰기 가능
outOfOfficeProperties.autoDeclineMode string 부재중 일정과 겹치는 회의 초대를 거부할지 여부입니다. 유효한 값은 declineNone(회의 초대가 거부되지 않음)이고 declineAllConflictingInvitations(일정과 충돌하는 모든 회의 초대가 거부됨을 의미함) 및 declineOnlyNewConflictingInvitations(부재중 일정이 있는 동안 충돌하는 새로운 회의 초대만 거부됨)입니다.
outOfOfficeProperties.declineMessage string Calendar에서 기존 일정 또는 새 초대가 자동으로 거부되는 경우 설정할 응답 메시지입니다.
privateCopy boolean true로 설정하면 이벤트 전파가 사용 중지됩니다. 비공개 이벤트 속성과는 다릅니다. 선택사항입니다. 변경할 수 없습니다. 기본값은 False입니다.
recurrence[] list RFC5545에 지정된 대로 반복 이벤트의 RRULE, EXRULE, RDATE, EXDATE 행 목록입니다. 이 필드에는 DTSTART 및 DTEND 행이 허용되지 않습니다. 이벤트 시작 시간 및 종료 시간은 startend 필드에 지정됩니다. 단일 이벤트 또는 반복 이벤트의 인스턴스의 경우 이 필드는 생략됩니다. 쓰기 가능
recurringEventId string 반복 일정의 인스턴스의 경우 이 인스턴스가 속한 반복 일정의 id입니다. 변경할 수 없습니다.
reminders object 인증된 사용자의 일정 리마인더에 관한 정보입니다. 리마인더를 변경해도 래핑 이벤트의 updated 속성은 변경되지 않습니다.
reminders.overrides[] list 일정이 기본 알림을 사용하지 않는 경우 일정과 관련된 알림이 표시되거나, 설정되지 않은 경우 이 일정에 대해 설정된 알림이 없음을 나타냅니다. 재정의 리마인더의 최대 개수는 5개입니다. 쓰기 가능
reminders.overrides[].method string 이 리마인더에서 사용하는 메서드입니다. 가능한 값은 다음과 같습니다.
  • 'email' - 알림이 이메일을 통해 전송됩니다.
  • 'popup' - UI 팝업을 통해 리마인더가 전송됩니다.

알림을 추가할 때 필요합니다.

쓰기 가능
reminders.overrides[].minutes integer 이벤트 시작 몇 분 전에 리마인더가 트리거되어야 하는지 나타냅니다. 유효한 값은 0~40320(4주(분))입니다.

리마인더를 추가할 때 필요합니다.

쓰기 가능
reminders.useDefault boolean 캘린더의 기본 리마인더가 일정에 적용되는지 여부입니다. 쓰기 가능
sequence integer iCalendar에 따른 순서 번호입니다. 쓰기 가능
source object 이벤트가 생성된 소스입니다. 예를 들어 웹페이지, 이메일 메시지 또는 HTTP 또는 HTTPS 스키마가 포함된 URL로 식별할 수 있는 문서가 여기에 해당합니다. 이벤트의 크리에이터만 볼 수 있거나 수정할 수 있습니다.
source.title string 소스의 제목입니다(예: 웹페이지 제목 또는 이메일 제목). 쓰기 가능
source.url string 리소스를 가리키는 소스의 URL입니다. URL 스키마는 HTTP 또는 HTTPS여야 합니다. 쓰기 가능
start nested object 이벤트 시작 시간 (해당 시간 포함)입니다. 반복 일정의 경우 첫 번째 일정의 시작 시간입니다.
start.date date 종일 일정인 경우 'yyyy-mm-dd' 형식의 날짜입니다. 쓰기 가능
start.dateTime datetime 시간 (결합된 날짜-시간 값, RFC3339 형식) timeZone에 시간대가 명시적으로 지정되어 있지 않은 한 시간대 오프셋이 필요합니다. 쓰기 가능
start.timeZone string 시간이 지정된 시간대입니다. (IANA 시간대 데이터베이스 이름 형식으로 지정됩니다(예: 'Europe/Zurich'). 반복되는 일정의 경우 이 필드는 필수이며 반복이 확장되는 시간대를 지정합니다. 단일 이벤트의 경우 이 필드는 선택사항이며 이벤트 시작/종료의 맞춤 시간대를 나타냅니다. 쓰기 가능
status string 이벤트의 상태입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.
  • 'confirmed': 이벤트가 확인되었습니다. 이는 기본 상태입니다.
  • 'tentative' - 이벤트가 잠정적으로 확인되었습니다.
  • 'cancelled' - 이벤트가 취소 (삭제됨)되었습니다. list 메서드는 증분 동기화 (syncToken 또는 updatedMin가 지정된 경우) 또는 showDeleted 플래그가 true로 설정된 경우에만 취소된 이벤트를 반환합니다. get 메서드가 항상 이를 반환합니다.

    취소된 상태는 이벤트 유형에 따라 두 가지 상태를 나타냅니다.

    1. 취소되지 않은 반복 일정의 취소된 예외는 이 인스턴스를 더 이상 사용자에게 표시해서는 안 된다는 것을 나타냅니다. 클라이언트는 상위 반복 일정의 전체 기간 동안 이러한 이벤트를 저장해야 합니다.

      취소된 예외는 id, recurringEventId, originalStartTime 필드의 값만 채워집니다. 다른 필드는 비어 있을 수 있습니다.

    2. 다른 모든 취소된 이벤트는 삭제된 이벤트를 나타냅니다. 클라이언트는 로컬에서 동기화된 사본을 삭제해야 합니다. 이러한 취소된 이벤트는 결국 사라지므로 무기한 사용할 수 있다고 기대하지 마세요.

      삭제된 이벤트는 id 필드만 채워집니다.

    주최자의 캘린더에서 취소된 일정은 복원 (삭제 취소)할 수 있도록 일정 세부정보 (요약, 위치 등)를 계속 표시합니다. 마찬가지로 사용자가 초대된 일정 및 사용자가 직접 삭제한 일정은 계속해서 세부정보를 제공합니다. 그러나 showDeleted가 false로 설정된 증분 동기화 요청은 이러한 세부정보를 반환하지 않습니다.

    이벤트의 주최자가 변경되고 (예: 이동 작업을 통해) 원래 주최자가 참석자 목록에 없으면 id 필드만 채워지는 취소된 이벤트가 남게 됩니다.

쓰기 가능
summary string 이벤트의 제목입니다. 쓰기 가능
transparency string 일정이 캘린더에서 시간을 차단하는지 여부입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.
  • 'opaque' - 기본값입니다. 캘린더에서 일정의 시간을 차단합니다. 이는 캘린더 UI에서 나를 바쁨으로 설정하는 것과 같습니다.
  • 'transparent' - 일정이 캘린더에서 시간을 차단하지 않습니다. 이는 캘린더 UI에서 나를 표시사용 가능으로 설정하는 것과 같습니다.
쓰기 가능
updated datetime 기본 이벤트 데이터의 마지막 수정 시간입니다 (RFC3339 타임스탬프로 표시됨). 일정 알림을 업데이트해도 이 상태는 변경되지 않습니다. 읽기 전용입니다.
visibility string 이벤트의 공개 상태입니다. 선택사항입니다. 가능한 값은 다음과 같습니다.
  • 'default' - 캘린더의 일정에 기본 공개 상태를 사용합니다. 기본값입니다.
  • 'public': 일정이 공개되어 있으며 캘린더의 모든 독자가 일정 세부정보를 볼 수 있습니다.
  • 'private': 비공개 일정으로, 일정 참석자만 일정 세부정보를 볼 수 있습니다.
  • 'confidential' - 이벤트가 비공개입니다. 이 값은 호환성을 위해 제공됩니다.
쓰기 가능
workingLocationProperties nested object 근무 위치 이벤트 데이터 쓰기 가능
workingLocationProperties.customLocation object 이 속성이 있으면 사용자가 맞춤 위치에서 작업 중임을 나타냅니다. 쓰기 가능
workingLocationProperties.customLocation.label string 추가 정보용 추가 라벨(선택사항)입니다. 쓰기 가능
workingLocationProperties.homeOffice any value 이 속성이 있는 경우 사용자가 재택근무 중임을 나타냅니다. 쓰기 가능
workingLocationProperties.officeLocation object 이 속성이 있는 경우 사용자가 사무실에서 작업 중임을 나타냅니다. 쓰기 가능
workingLocationProperties.officeLocation.buildingId string 건물 식별자(선택사항)입니다. 이는 조직의 리소스 데이터베이스에 있는 건물 ID를 참조해야 합니다. 쓰기 가능
workingLocationProperties.officeLocation.deskId string 선택적 데스크 식별자입니다. 쓰기 가능
workingLocationProperties.officeLocation.floorId string 선택적 층 식별자입니다. 쓰기 가능
workingLocationProperties.officeLocation.floorSectionId string 선택사항인 층 섹션 식별자입니다. 쓰기 가능
workingLocationProperties.officeLocation.label string Calendar 웹 및 모바일 클라이언트에 표시되는 사무실 이름입니다. 조직의 리소스 데이터베이스에서 건물 이름을 참조하는 것이 좋습니다. 쓰기 가능
workingLocationProperties.type string 근무 위치 유형입니다. 가능한 값은 다음과 같습니다.
  • 'homeOffice' - 사용자가 집에서 작업 중입니다.
  • 'officeLocation' - 사용자가 사무실에서 작업 중입니다.
  • 'customLocation': 사용자가 맞춤 위치에서 작업 중입니다.
세부정보는 지정된 이름의 하위 필드에 지정되지만 이 필드가 비어 있으면 누락될 수 있습니다. 다른 필드는 무시됩니다.

근무 위치 속성을 추가할 때 필요합니다.

쓰기 가능

메서드

삭제
일정을 삭제합니다.
get
Google Calendar ID를 기반으로 일정을 반환합니다. iCalendar ID를 사용하여 이벤트를 검색하려면 iCalUID 매개변수를 사용하여events.list 메서드를 호출합니다.
import
이벤트를 가져옵니다. 이 작업은 기존 일정의 비공개 사본을 캘린더에 추가하는 데 사용됩니다. eventTypedefault인 이벤트만 가져올 수 있습니다.

지원 중단된 동작: default가 아닌 이벤트를 가져오면 유형이 default로 변경되고 이벤트 유형별 속성이 있는 경우 삭제됩니다.

insert
이벤트를 만듭니다.
인스턴스
지정된 반복 이벤트의 인스턴스를 반환합니다.
list
지정된 캘린더의 일정을 반환합니다.
이동
일정을 다른 캘린더로 이동합니다. 즉, 일정의 주최자를 변경합니다. default 이벤트만 이동할 수 있습니다. birthday, focusTime, fromGmail, outOfOffice, workingLocation 이벤트는 이동할 수 없습니다.
patch
일정을 업데이트합니다. 이 메소드는 패치 의미 체계를 지원합니다. 각 패치 요청은 3개의 할당량 단위를 사용합니다. get 뒤에 update을 사용하는 것이 좋습니다. 지정하는 필드 값은 기존 값을 대체합니다. 요청에 지정하지 않은 필드는 변경되지 않습니다. 배열 필드(지정된 경우)는 기존 배열을 덮어씁니다. 이렇게 하면 이전 배열 요소가 삭제됩니다.
quickAdd
간단한 텍스트 문자열을 기반으로 이벤트를 만듭니다.
업데이트
일정을 업데이트합니다. 이 메서드는 패치 시맨틱스를 지원하지 않으며 항상 전체 이벤트 리소스를 업데이트합니다. 부분 업데이트를 수행하려면 etag를 사용하여 get 다음에 update를 실행하여 원자성을 보장합니다.
시청
이벤트 리소스의 변경사항을 확인합니다.