일정 만들기
주최자의 Google Calendar에 대한 쓰기 액세스 권한이 있는 경우
일정을 Events: insert
메서드를 사용하여 추가할 수 있습니다.
이 메서드는 초대를 추가하는 설정과 관계없이 주최자의 캘린더에 직접 일정을 추가합니다.
참석자 추가
이 메서드를 사용하면 일정의 attendees
속성에 참석자의
이메일 주소를 추가하여 동일한 일정에 참석자를 추가할 수도 있습니다. 주최자가 향후 일정에 변경사항을 적용하면 참석자에게도 변경사항이
전파됩니다.
참석자는 주최자의 이메일 주소에서 초대를 받습니다. Calendar 사용자는 Calendar의 일정 설정에 따라 이메일 또는 캘린더에서 초대를 받습니다.
From everyone설정이 되어 있는 경우 일정이 캘린더에 직접 추가됩니다.- `발신자가 아는 사람일 경우에만` 설정
Only if the sender is known이 되어 있는 경우 이전에 주최자와 상호작용한 적이 있거나, 주최자가 동일한 조직에 속해 있거나, 주최자가 Google 주소록에 있는 경우 일정이 캘린더에 직접 추가됩니다. 주최자를 모르는 경우 캘린더에 추가 를 클릭하거나 초대 이메일에서 예 또는 미정 을 클릭하여 참석 여부를 회신할 수 있습니다. 그러면 일정이 캘린더에 추가됩니다. - 사용자가
When I respond in email설정을 사용하면 사용자가 초대 이메일에서 예, 미정 또는 아니요를 클릭하여 참석 여부를 회신할 때까지 모든 초대가 캘린더에 추가되지 않습니다.
초대가 Calendar에 추가되는 방법에 관한 자세한 내용은 Calendar에서 초대 관리를 참고하세요.
참석자의 캘린더에 직접 일정 표시
참석자의 설정과 관계없이 Calendar 참석자의 캘린더에 직접 일정을 표시하려면 참석자의 참석 여부를 설정하거나 참석자의 캘린더에 직접 일정 사본을 가져오면 됩니다. 두 방법 모두 참석자의 캘린더에 대한 쓰기 액세스 권한이 필요합니다. 쓰기 액세스 권한이 없는 경우 참석자의 연락처에 주최자를 추가하는 것이 좋습니다. 이렇게 하려면 참석자의 연락처에 대한 쓰기 액세스 권한이 필요할 수 있습니다.
참석자의 참석 여부 설정
참석자의 참석 여부를 일정에 설정하려면 다음 단계를 따르세요.
- Calendar 주최자의 캘린더에서 일정을 만들고 참석자를 추가합니다 (참석자 추가 참고).
Events: update메서드 를 사용하여 참석자의 참석 여부 를accepted또는tentative로 설정합니다. 참석자의 캘린더에 대한 쓰기 액세스 권한이 있어야 합니다. 일정이 참석자의 캘린더에 표시되기까지 약간의 지연이 발생할 수 있습니다.Events: update메서드를 사용하는 방법을 자세히 알아보세요.
이 메서드는 참석자의 캘린더에 일정을 추가하지만 참석자는 이전에 알지 못했던 주소에서 초대가 전송되었다는 배너를 이메일에서 계속 볼 수 있습니다.
참석자의 캘린더에 직접 일정 사본 가져오기
일정 사본을 참석자의 캘린더로 가져오려면 다음 단계를 따르세요.
- 주최자의 Calendar 캘린더에 대한 쓰기 액세스 권한이 있는 경우
일정 사본을
Events: import메서드를 사용하여 가져옵니다. - `
Events: import`를 사용하여 참석자의 캘린더에 동일한 일정의 다른 사본을 가져옵니다. 참석자의 캘린더에 대한 쓰기 액세스 권한이 있어야 합니다. 주최자와 참석자의 사본에 동일한 일정 ID (iCalUID)를 사용하고 참석자의 사본에 주최자를 지정해야 합니다.
이 메서드를 사용하면 참석자가 캘린더에서 일정을 볼 수 있지만 Calendar에서 초대 이메일을 받지는 않습니다.
참석자의 연락처에 주최자 추가
참석자의 사용자 인증 정보가 없는 경우 참석자 또는 참석자의 조직에 주최자의 이메일 주소를 Google 주소록에 미리 추가하여 캘린더에 직접 일정을 표시하도록 안내할 수 있습니다. 새로 만든 연락처가 적용되기까지 약간의 지연이 발생할 수 있습니다.
- Calendar 사용자에게 주최자를 Google 연락처에 추가하도록 요청합니다.
- 참석자가 조직에 속해 있는 경우 조직의 관리자에게 사용자 연락처에 이메일 주소를 프로그래매틱 방식으로 추가하도록 요청할 수 있습니다. 관리자에게
도메인 전체 위임을 사용 설정하고,
사용자를 가장하고,
People: createContact메서드를 사용하여 각 사용자의 연락처를 만들어 이러한 이메일 주소에서 보낸 향후 초대가 사용자의 캘린더에 자동으로 표시되도록 요청합니다. - 참석자의 연락처에 액세스할 수 있는 경우
참석자의 연락처에 주최자의 이메일 주소를 추가할 수도 있습니다.
People: createContact메서드를 사용하여
이메일로 사용자 초대
주최자의 Calendar 캘린더에 대한 쓰기 액세스 권한이 없거나 주최자의 이메일 주소를 공개하지 않으려면 iCalendar 프로토콜 (RFC-5545) 을 사용하여 .ICS 파일로 이메일을 통해 사용자를 초대합니다.
참석자가 Only if the sender is known
설정이 되어 있는 Calendar 사용자이고 이전에 주최자와 상호작용한 적이 없거나 주소를
아는 주소로 기록하지 않은 경우 참석자가
캘린더에 추가 를 클릭하거나 일정에 참석 여부를 회신할 때까지 초대가 캘린더에 추가되지 않습니다.
사용자가 일정을 추가할 수 있는 링크 제공
또는 Calendar 사용자가 업데이트를 유지하지 않고 일정을 일회성으로 더 쉽게 추가할 수 있도록 하려면 사용자가 직접 추가할 수 있도록 미리 채워진 일정이 포함된 링크를 제공하면 됩니다. 이 메서드는 사용자의 캘린더에 별도의 일정을 만듭니다. 사용자의 캘린더에 액세스할 수 없는 경우 이 일정을 업데이트할 수 없습니다.
다음 링크 템플릿을 사용하세요.
https://calendar.google.com/calendar/r/eventedit?action=TEMPLATE&dates=20230325T224500Z%2F20230326T001500Z&stz=Europe/Brussels&etz=Europe/Brussels&details=EVENT_DESCRIPTION_HERE&location=EVENT_LOCATION_HERE&text=EVENT_TITLE_HERE
다음 정보를 업데이트합니다.
- 시작일 및 종료일과 시간: ISO 8601 형식을 사용합니다. 위의 예에서
20230325T224500Z및20230326T001500Z를 바꿉니다. - 시작 및 종료 시간대: IANA 시간대 데이터베이스 이름으로 형식을 지정합니다.
시간대를
stz및etz필드에 배치합니다. - 일정 설명: URL로 인코딩되어야 합니다.
- 일정 위치: URL로 인코딩되어야 합니다.
- 일정 제목: URL로 인코딩되어야 합니다.
예
사용자가 비즈니스와 약속을 예약할 수 있도록 약속 예약 서비스를 구축하는 예를 생각해 보겠습니다. 사용자가 약속을 예약하면 서비스에서 예약자와 비즈니스의 Google Calendar 캘린더에 일정을 추가해야 합니다.
최상의 사용자 환경을 위해 비즈니스에서 캘린더에 대한 쓰기 액세스 권한을 부여하여 비즈니스의 캘린더에 직접 일정을 추가하고 (일정 만들기) 예약자를 해당 일정에 초대할 수 있도록 하는 것이 좋습니다(참석자 추가). 예약자가 캘린더에서 일정을 확인하고 알림을 받을 수 있도록 예약 후 즉시 이메일을 확인하고 일정에 예 로 참석 여부를 회신하도록 안내하세요. 일정에 참석 여부를 회신하면 알림 설정에 따라 Calendar에서 일정 알림이 전송됩니다.
예약자의 캘린더에 직접 일정을 추가하려면 예약자에게 연락처에 추가하도록 초대를 받을 이메일 주소를 안내하세요. 또는 예약자에게 캘린더에 대한 쓰기 액세스 권한을 요청하여 예약자를 대신하여 프로그래매틱 방식으로 참석 여부를 회신하고 (참석자의 참석 여부 설정) 예약 확인에 관한 이메일 알림을 전송하세요.
비즈니스에서 이메일 주소를 공개하지 않으려면 사용자별 이메일 주소를 사용하여 이메일로 예약자에게 일정을 전송합니다 (이메일 주소에서 사용자 초대).
이벤트 전파
다음 다이어그램은 역학 관계를 설명합니다. 먼저 Jack이 기본 캘린더에 일정을 만듭니다 (따라서 주최자 사본을 소유함). 그런 다음
첼로 레슨 그룹 보조 캘린더와 일정 설정이
Only if the sender is known인 Susan을 초대합니다. 참석자의 사본은 첼로 레슨 그룹 보조 캘린더와 Susan이 Jack을 아는 경우 Susan의 캘린더에 만들어집니다. 그렇지 않은 경우 Susan이 참석 여부를 회신하거나 Jack을 안다고 표시할 때 만들어집니다. Susan이 응답하면 참석 여부 변경사항이 주최자에게 다시 전파되어 주최자의 사본이 Susan의 응답으로 업데이트됩니다. 그러면 주최자의 일정 사본에 적용된 이러한 변경사항이 다른 참석자에게 전파됩니다.

공유 일정 속성
일정이 생성되는 캘린더는 주최자 캘린더 입니다. 이 캘린더는 ID, 시작 및 종료 시간, 요약, 설명 등 공유 일정 정보를 소유합니다. 이 정보가 주최자 캘린더에서 업데이트되면 변경사항이 참석자 사본에 전파됩니다.
비공개 일정 속성
모든 일정 사본 간에 모든 정보가 공유되는 것은 아닙니다. 알림, colorId, 투명도 또는 extendedProperties.private 속성과 같은 일부 속성은 비공개입니다. 이러한 속성은 주최자 캘린더가 아닌 참석자의 설정에 의해 제어됩니다.
참석자는 일정의 공유 속성을 변경할 수도 있습니다. 하지만 이러한 변경사항은 자체 사본에만 반영되며 주최자가 변경사항을 적용하면 손실될 수 있습니다.
참석자에게서 주최자에게 다시 전파되는 유일한 일정 변경사항은
참석자의 응답 상태이며, attendees[].responseStatus
속성에 저장됩니다.