일정에 사용자 초대하기

이벤트 만들기

주최자의 Google Calendar에 대한 쓰기 액세스 권한이 있는 경우 Events: insert 메서드를 사용하여 이벤트를 추가할 수 있습니다.

이 메서드는 초대 추가 설정과 관계없이 주최자의 캘린더에 일정을 직접 추가합니다.

참석자 추가

이 메서드를 사용하면 이벤트의 attendees 속성에 이메일 주소를 추가하여 참석자를 동일한 이벤트에 추가할 수도 있습니다. 주최자가 향후 일정을 변경하면 참석자에게 전파됩니다.

참석자에게는 주최자의 이메일 주소에서 초대가 전송됩니다. Google Calendar 사용자는 Google Calendar 설정의 일정 설정에 따라 이메일 또는 캘린더에서 초대를 받습니다.

  • From everyone 설정이 있는 경우 일정이 캘린더에 직접 추가됩니다.
  • Only if the sender is known 설정이 있는 경우 이전에 주최자와 상호작용했거나, 주최자가 동일한 조직에 속해 있거나, 주최자가 Google 연락처에 있는 경우 일정이 캘린더에 직접 추가됩니다. 주최자를 모르는 경우 캘린더에 추가를 클릭하거나 초대 이메일에서 또는 미정을 클릭하여 참석 여부를 알릴 수 있습니다. 그러면 일정이 캘린더에 추가됩니다.
  • 사용자가 When I respond in email 설정을 사용하는 경우 사용자가 초대 이메일에서 , 미정 또는 아니요를 클릭하여 참석 여부를 회신할 때까지 모든 초대가 캘린더에 추가되지 않습니다.

Google Calendar에 초대가 추가되는 방식에 관한 자세한 내용은 Calendar에서 초대 관리하기를 참고하세요.

참석자 캘린더에 일정 직접 표시

참석자의 설정에 따라 Google Calendar 참석자의 캘린더에 일정을 직접 표시하려면 참석자의 회신요청을 설정하거나 참석자의 캘린더에 일정 사본을 직접 가져오기하면 됩니다. 두 방법 모두 참석자 캘린더에 대한 쓰기 액세스 권한이 필요합니다. 액세스 권한이 없는 경우 참석자의 연락처에 주최자를 추가하는 것이 좋습니다. 이 경우 참석자의 연락처에 대한 쓰기 액세스 권한이 필요할 수 있습니다.

참석자의 RSVP 설정

참석자의 이벤트 RSVP를 설정하려면 다음 단계를 따르세요.

  1. Google Calendar 주최자의 캘린더에서 일정을 만들고 참석자를 추가합니다 (위 참고).
  2. Events: update 메서드를 사용하여 참석자의 RSVPaccepted 또는 tentative로 설정합니다. 참석자의 캘린더에 대한 쓰기 액세스 권한이 있어야 합니다. 참석자의 캘린더에 일정이 표시되기까지 약간의 지연이 발생할 수 있습니다. Events: update 메서드 사용 방법 자세히 알아보기

이 방법을 사용하면 참석자의 캘린더에 일정이 추가되지만 참석자에게는 이전에 알지 못했던 주소에서 초대장이 전송되었다는 배너가 이메일에 계속 표시될 수 있습니다.

참석자의 캘린더에 일정 사본을 직접 가져오기

참석자의 캘린더에 일정 사본을 가져오려면 다음 단계를 따르세요.

  1. 주최자의 Google Calendar에 대한 쓰기 액세스 권한이 있는 경우 Events: import 메서드를 사용하여 일정 사본을 가져옵니다.
  2. Events: import를 사용하여 참석자의 캘린더에 동일한 일정의 사본을 하나 더 가져옵니다. 참석자의 캘린더에 대한 쓰기 액세스 권한이 있어야 합니다. 주최자 사본과 참석자 사본에 동일한 이벤트 ID(iCalUID)를 사용하고 참석자 사본에 주최자를 지정해야 합니다.

이 방법을 사용하면 참석자가 캘린더에서 일정을 볼 수 있지만 Google Calendar에서 초대 이메일을 받지 못합니다.

참석자 연락처에 주최자 추가

참석자의 사용자 인증 정보가 없는 경우 참석자 또는 해당 조직에 주최자의 이메일 주소를 Google 연락처에 미리 추가하여 캘린더에 일정을 직접 표시하도록 안내할 수 있습니다. 새로 만든 연락처가 적용되기까지 약간의 지연이 있을 수 있습니다.

  • Google Calendar 사용자에게 Google 주소록에 주최자를 추가하도록 요청합니다.
  • 참석자가 조직에 속해 있는 경우 조직의 관리자에게 사용자의 연락처에 이메일 주소를 프로그래매틱 방식으로 추가해 달라고 요청할 수 있습니다. 관리자에게 도메인 전체 위임을 사용 설정하도록 요청하고, 사용자를 명의 도용하고 People: createContact 메서드를 사용하여 각 사용자의 연락처를 만들어 이러한 이메일 주소의 향후 초대가 사용자의 캘린더에 자동으로 표시되도록 합니다.
  • 참석자의 연락처에 액세스할 수 있는 경우 People: createContact 메서드를 사용하여 참석자의 연락처에 주최자의 이메일 주소를 추가할 수도 있습니다.

이메일 주소에서 사용자 초대하기

주최자의 Google Calendar에 대한 쓰기 액세스 권한이 없거나 주최자의 이메일 주소를 노출하고 싶지 않은 경우 iCalendar 프로토콜(RFC-5545)을 사용하여 .ICS 파일을 통해 이메일로 사용자를 초대합니다.

참석자가 Only if the sender is known 설정을 사용하는 Google Calendar 사용자이고 이전에 상호작용하거나 주소를 알고 있다고 기록한 적이 없는 경우 참석자가 캘린더에 추가를 클릭하거나 일정에 회신할 때까지 초대가 캘린더에 추가되지 않습니다.

또는 Google 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 형식을 사용하세요. 위의 예에서 20230325T224500Z20230326T001500Z을 바꿉니다.
  • 시작 및 종료 시간대: IANA 시간대 데이터베이스 이름 형식입니다. stzetz 필드에 시간대를 배치합니다.
  • 이벤트 설명: URL로 인코딩되어야 합니다.
  • 이벤트 위치: URL로 인코딩되어야 합니다.
  • 이벤트 제목: URL로 인코딩되어야 합니다.

사용자가 비즈니스와 약속을 예약할 수 있도록 약속 예약 서비스를 빌드하는 예를 살펴보겠습니다. 사용자가 약속을 예약하면 서비스에서 예약자의 Google Calendar와 비즈니스의 Google Calendar에 일정을 추가해야 합니다.

최적의 사용자 환경을 위해 비즈니스에서 캘린더에 쓰기 액세스 권한을 부여하면 일정을 비즈니스 캘린더에 직접 추가 (이벤트 만들기)하고 예약자를 해당 일정에 초대(참석자 추가)할 수 있습니다. 예약자가 캘린더에서 일정을 확인하고 일정에 대한 알림을 받을 수 있도록 예약 직후 이메일을 확인하고 일정에 참석 여부를 라고 회신하도록 안내합니다. 참석자가 일정에 참석 여부를 회신하면 알림 설정에 따라 Google Calendar의 일정 알림이 전송됩니다.

일정을 예약자의 캘린더에 직접 추가하려면 예약자에게 초대를 받을 이메일 주소를 연락처에 추가하라고 안내합니다. 또는 예약자에게 캘린더에 대한 쓰기 액세스 권한을 요청하여 대신 프로그래매틱 방식으로 참석 여부를 확인하고 (참석자 참석 여부 설정) 예약 확인에 관한 이메일 알림을 보냅니다.

비즈니스가 이메일 주소를 노출하고 싶지 않은 경우 사용자별 이메일 주소를 사용하여 이메일(이메일 주소에서 사용자 초대)로 예약자에게 일정을 보냅니다.

이벤트 전파

다음 다이어그램은 동작을 설명합니다. 먼저 잭은 기본 캘린더에 일정을 만들어 주최자 사본을 소유합니다. 그런 다음 첼로 수업 그룹 보조 캘린더와 이벤트 설정이 Only if the sender is known인 수잔을 초대합니다. 참석자 사본은 첼로 수업 그룹 보조 캘린더에 생성되며, 잭을 알고 있는 경우 수잔의 캘린더에 생성되고, 그렇지 않은 경우 참석 또는 잭을 알고 있음을 나타낼 때 생성됩니다. 수잔이 응답하면 RSVP 변경사항이 주최자에게 다시 전파되어 주최자의 사본이 수잔의 응답으로 업데이트됩니다. 주최자의 일정 사본에 적용된 이러한 변경사항은 다른 참석자에게 전파됩니다.

이벤트/참석자 동향을 보여주는 다이어그램

공유 이벤트 속성

일정이 생성된 캘린더가 주최자 캘린더입니다. 이 캘린더는 ID, 시작 및 종료 시간, 요약, 설명을 비롯한 공유 이벤트 정보를 소유합니다. 이 정보가 주최자 캘린더에서 업데이트되면 참석자 사본에 변경사항이 반영됩니다.

비공개 이벤트 속성

일부 정보는 모든 이벤트 사본 간에 공유되지 않습니다. 리마인더, colorId, 투명도, extendedProperties.private 속성과 같은 일부 속성은 비공개입니다. 이러한 속성은 주최자 캘린더가 아닌 참석자 설정에 의해 제어됩니다.

참석자는 이벤트의 공유 속성을 변경할 수도 있습니다. 하지만 이러한 변경사항은 본인의 사본에만 반영되며 주최자가 변경하면 사라질 수 있습니다.

참석자로부터 주최자에게 전파되는 유일한 일정 변경사항은 attendees[].responseStatus 속성에 저장된 참석자의 응답 상태입니다.