목차 · 찾기
위피스 설명서
구글 캘린더와 일정 주고받기
캘린더 앱의 일정과 직원 각자의 구글 캘린더를 서로 맞춥니다. 한쪽에서 만들거나 고친 일정이 다른 쪽에도 들어갑니다. 휴대폰에서는 구글 캘린더를 보고, 회사 업무 화면에서는 캘린더 앱을 쓰는 경우에 켭니다.
이 설정이 영향을 주는 곳
| 화면 | 영향 |
|---|---|
| 앱 | 체크하고 저장하면 구글 캘린더 연동 모듈(google_calendar)과 구글 계정 연결 모듈(google_account)이 설치됩니다 |
| 설정 값 | 고객 ID, 고객 비밀키, 동기화 일시 중지, Disable automatic meeting links 값은 회사 하나가 아니라 이 데이터베이스 전체에 한 번 저장됩니다. 모든 사용자가 같은 값을 씁니다 |
| 캘린더 앱 | 위쪽에 동기화 대상과 구글 단추가 생깁니다. 사용자마다 이 단추를 눌러 자기 구글 계정을 연결합니다 |
| 일정 초대 메일 | 구글과 연결된 사용자가 주최하는 일정은 캘린더 앱이 초대 메일을 직접 보내지 않습니다. 일정이 구글 캘린더로 넘어가면 구글이 참석자에게 알림을 보냅니다 |
| 사용자 화면 | 설정 → 사용자 및 회사 → 사용자의 캘린더 탭에 계정 초기화 단추가 생깁니다(관리자에게만 보임) |
위피스에서 처음 들어 있는 값
| 칸 | 처음 값 |
|---|---|
| 구글 캘린더 | 꺼짐(모듈이 설치되어 있지 않음) |
| 고객 ID, 고객 비밀키 | 비어 있음 |
| 동기화 일시 중지 | 꺼짐 |
위피스에서는 이렇게 고릅니다
- 직원들이 회사 구글 워크스페이스 계정을 쓰면 켜 두는 편이 편합니다. 휴대폰 구글 캘린더에서 바로 일정을 확인할 수 있습니다.
- 개인 Gmail만 쓰는 작은 회사도 쓸 수 있습니다. 다만 구글 쪽에서 앱을 「테스트」 상태로 두고, 연결할 Gmail 주소를 테스트 사용자로 하나씩 넣어야 합니다.
- 일정 관리를 캘린더 앱 하나로 충분히 하고 있다면 켜지 않아도 됩니다. 켜는 순간부터 초대 메일이 구글을 통해 나가므로, 참석자가 받는 메일 모양이 달라집니다.
설정 순서
연결은 세 단계입니다. 구글에서 연결용 열쇠(고객 ID와 비밀키)를 만들고, 캘린더 설정에 넣고, 사용자마다 자기 계정을 연결합니다.
1. 구글에서 연결용 열쇠 만들기
구글 클라우드 콘솔(console.cloud.google.com)에 회사 구글 계정으로 로그인해서 진행합니다. 구글 화면은 영어 이름으로 적었습니다.
- 새 프로젝트를 만듭니다. 이름은 「회사 캘린더 연동」처럼 알아보기 쉽게 짓습니다.
- APIs & Services에서 Google Calendar API를 찾아 Enable을 누릅니다.
- OAuth consent screen(동의 화면)을 만듭니다.
- 앱 이름과 지원 이메일을 넣습니다.
- 사용자 유형은 구글 워크스페이스 계정이면 Internal, 개인 Gmail이면 External을 고릅니다.
- External을 골랐다면 Test users에 캘린더를 연결할 Gmail 주소를 모두 넣습니다. 넣지 않은 주소로 연결하면 「403 access_denied」 오류가 납니다.
- Credentials(사용자 인증 정보)에서 OAuth client ID를 새로 만듭니다.
- Application type은 Web application을 고릅니다. 다른 종류를 고르면 연결할 때 「400 redirect_uri_mismatch」 오류가 납니다.
- Authorized JavaScript origins에 회사 주소를 넣습니다. 예
https://mycompany.example.com - Authorized redirect URIs에 회사 주소 뒤에
/google_account/authentication을 붙여 넣습니다. 예https://mycompany.example.com/google_account/authentication
- 만들고 나면 Client ID와 Client secret이 나옵니다. 둘 다 복사해 둡니다.
회사 주소는 직원들이 로그인할 때 브라우저 주소창에 보이는 주소를 그대로 씁니다. 끝에 / 를 붙이지 않습니다.
2. 캘린더 설정에 넣기
- 캘린더 → 설정 → 설정을 엽니다.
- 구글 캘린더를 체크하고 위쪽의 저장을 누릅니다. 모듈이 설치되고 화면이 다시 열립니다.
- 구글 캘린더 아래에 생긴 고객 ID 칸에 Client ID를, 고객 비밀키 칸에 Client secret을 붙여 넣습니다.
- 저장을 누릅니다.
3. 사용자마다 자기 구글 계정 연결하기
- 캘린더 앱을 엽니다.
- 위쪽 동기화 대상 옆의 구글 단추를 누릅니다.
- 구글 로그인 화면으로 넘어갑니다. 연결할 계정을 고르고 캘린더 접근을 허용합니다. 개인 Gmail이면 「확인되지 않은 앱」 안내가 나오는데, 계속 진행을 눌러 넘어갑니다.
- 캘린더 앱으로 돌아오면 단추 자리에 초록색 체크와 구글이 보입니다. 이제 연결된 상태입니다.
이후에는 캘린더 앱을 열 때마다 동기화가 돌고, 앱을 열지 않아도 12시간마다 한 번씩 자동으로 맞춥니다.
동기화 멈추기와 다시 연결하기
- 잠깐 멈추기: 설정의 동기화 일시 중지를 체크하고 저장합니다. 모든 사용자의 동기화가 멈추고, 넣어 둔 열쇠는 그대로 남습니다. 체크를 끄고 저장하면 다시 돕니다.
- 내 연결 끊기: 캘린더 앱 위쪽의 초록색 구글 표시에 마우스를 올리면 동기화 중지가 보입니다. 누르면 내 계정 연결만 끊깁니다. 다시 구글 단추를 누르면 다시 연결됩니다.
- 동기화가 꼬였을 때: 관리자가 설정 → 사용자 및 회사 → 사용자에서 해당 사용자를 열고 캘린더 탭의 계정 초기화를 누릅니다. 창에서 「Delete synced events from Odoo」를 켜면 구글과 동기화된 일정 가운데 그 사용자의 캘린더에 있거나 그 사용자가 주최한 일정을 캘린더 앱에서만 지웁니다. 구글 캘린더의 일정은 그대로 남습니다. 끄면 일정은 그대로 두고 연결만 끊습니다. Continue를 누른 뒤, 그 사용자가 다시 구글 단추로 연결합니다.
알아 둘 점
- 처음 연결할 때는 앞뒤 1년치만 맞춥니다. 오늘 기준 1년 전부터 1년 뒤까지의 일정이 오갑니다. 처음 연결할 때 캘린더 앱에 있던 일정을 구글로 올릴 때는 참석자에게 알림을 보내지 않습니다.
- 연결한 뒤부터는 구글이 참석자에게 알립니다. 캘린더 앱에서 앞으로 있을 일정을 만들거나, 시간을 바꾸거나, 참석자를 넣고 빼면 구글이 참석자 전원에게 초대·변경·취소 메일을 보냅니다. 처음에는 시험용 일정으로 나 혼자 참석자인 일정을 만들어 확인해 보세요.
- Disable automatic meeting links를 체크하면, 장소가 비어 있는 일정에 구글이 화상 회의 링크를 저절로 붙이지 않습니다.
- 구글에 다른 캘린더(공유 캘린더 등)가 더 있으면 연결할 때 「New Google calendars detected」 안내가 뜰 수 있습니다.
- 회사 주소를 바꾸면 구글 콘솔의 Authorized JavaScript origins와 Authorized redirect URIs도 새 주소로 고쳐야 연결이 됩니다.