suflyCRM

파트너포털 가이드 · 일정·간트 · 최종 수정 2026-08-17

📅 Google Calendar 연동과 주간 일정 위젯

주간리포트의 주간 일정 위젯은 팀의 Google Calendar를 파트너 포털에 직접 연결해, 이번 주 월~금 일정을 한 화면에서 공유하는 기능입니다. 관리자가 한 번 연결해 두면, 같은 회사(테넌트)의 구성원 모두가 별도 로그인 없이 위젯에서 주간 일정을 열람할 수 있습니다. 지난 주 일정은 자동으로 스냅샷으로 보관되어, 시간이 지나 원본 일정이 바뀌어도 보고 시점의 기록이 그대로 남습니다.

⚠️ 표시 대상 캘린더는 `musign` 이라는 이름(대소문자 무시)의 캘린더로 고정되어 있습니다. 해당 이름의 캘린더가 연결 계정에 없으면 기본 캘린더(primary)의 일정을 대신 표시합니다. 위젯에서 보여 줄 캘린더를 화면에서 따로 고르는 설정은 없습니다(5장 참고).

💡 진입 경로: 파트너 포털 주간리포트 화면 → 주간 일정 위젯.

이 문서에서 다루는 내용

  1. 기능 전체 흐름과 권한
  2. Google Calendar 연결하기 (관리자) - 연결·팝업 차단·refresh_token 미발급
  3. 연결 상태 확인과 계정 변경
  4. 주간 일정 위젯 보기 - 주 단위 이동
  5. 일정 표시 방식과 표시 대상 캘린더(musign)
  6. 지난 주 스냅샷 자동 보관
  7. 연결 만료와 재연결
  8. 권한별 화면 차이
  9. 운영 팁 & 자주 묻는 질문

1. 기능 전체 흐름과 권한

주간 일정 위젯은 연결 → 열람 → 스냅샷 보관의 흐름으로 동작합니다.

단계내용
① 연결 (관리자)Google 계정 OAuth 동의로 연결합니다 (테넌트 단위)
② 주간 열람이번 주 월~금 일정이 실시간으로 표시됩니다
③ 스냅샷 보관지난 주로 이동하면 그 주 일정이 자동 보관되어 남습니다

💡 지난 주 일정이 남는 이유는 스냅샷 덕분입니다. 캘린더에서 일정을 지워도 과거 리포트의 기록은 유지됩니다.

연결은 회사(테넌트) 단위로 한 번만 설정하면 됩니다. 연결된 Google 계정에서 `musign` 캘린더(없으면 기본 캘린더)의 일정이 위젯에 표시되며, 구성원 개개인이 따로 연결할 필요가 없습니다.

작업가능한 역할
캘린더 연결·재연결관리자 / 최고 관리자
캘린더 연결 해제관리자 / 최고 관리자
주간 일정 열람모든 구성원

💡 일반 구성원은 일정을 보기만 합니다. 연결·해제·재연결 같은 설정 작업은 관리자 권한이 있어야 합니다.

2. Google Calendar 연결하기 (관리자)

캘린더가 아직 연결되지 않았거나 연결이 만료된 상태에서는, 위젯에 연결 안내 메시지와 [캘린더 재연결] 버튼이 표시됩니다. 이 버튼이 곧 연결 진입점입니다 - 정상 연결 상태의 위젯에는 연결·재연결·해제 버튼이 별도로 나타나지 않습니다. 관리자 권한 계정으로 다음 순서를 따릅니다.

2.1 연결 절차

  1. 파트너 포털에 관리자 또는 최고 관리자 권한으로 로그인합니다.
  2. 주간리포트 화면에 들어가 주간 일정 위젯을 확인합니다.
  3. 미연결/만료 상태일 때 위젯에 표시되는 [🔗 캘린더 재연결] 버튼을 클릭합니다.
  4. 새로 열린 팝업 창에서 연결할 Google 계정을 선택합니다.
  5. 캘린더 열람 권한 요청에 동의합니다.
  6. 동의가 끝나면 팝업이 자동으로 닫히고, 위젯이 새로고침되어 일정이 표시됩니다.

💡 [캘린더 재연결] 버튼은 위젯이 만료/미연결 에러 상태일 때만 노출됩니다(7장 참고). 처음 연결할 때도 같은 버튼을 사용합니다.

연결이 끊기거나 만료되면 위젯에 안내와 함께 [🔗 캘린더 재연결] 버튼이 표시됩니다.

⚠️ 재연결 버튼은 관리자에게만 보입니다. 팀원은 안내만 보이므로 관리자에게 요청해야 합니다.

2.2 요청되는 권한 범위

연결 시 Google에 요청하는 권한은 꼭 필요한 최소 범위로 한정됩니다.

권한용도
캘린더 읽기 전용주간 일정을 불러와 표시 (일정 생성·수정·삭제는 하지 않음)
계정 이메일 확인어떤 Google 계정으로 연결됐는지 표시·식별

💡 캘린더는 읽기 전용으로만 접근합니다. 위젯이 일정을 추가하거나 변경하지 않으므로 원본 캘린더가 영향을 받지 않습니다.

2.3 팝업이 열리지 않을 때

브라우저가 팝업을 차단하면, 연결 화면이 현재 탭에서 바로 열립니다. 동의를 마치면 주간리포트 화면으로 자동 복귀합니다.

2.4 동의했는데 다시 만료로 돌아올 때 (refresh_token 미발급)

이미 같은 Google 계정으로 한 번 동의한 적이 있으면, Google이 재연결 시 갱신용 토큰(refresh_token)을 다시 내려주지 않는 경우가 있습니다. 이때는 연결이 저장되지 않고 다시 만료 안내로 돌아옵니다(주소창에 google=norefresh 표시). 다음 순서로 해결합니다.

  1. Google 계정 권한 페이지에 접속합니다.
  2. 해당 앱의 캘린더 접근 권한을 삭제(회수)합니다.
  3. 위젯에서 [캘린더 재연결]을 눌러 처음부터 다시 동의합니다.

💡 연결 자체가 동작하지 않고 안내 메시지가 뜬다면, 운영 환경에 Google OAuth 키(GOOGLE_OAUTH_CLIENT_ID/SECRET)가 설정되지 않았을 수 있습니다. 이 경우 운영 담당자에게 환경 설정 확인을 요청하세요.

3. 연결 상태 확인과 계정 변경

3.1 연결 상태

위젯은 현재 연결 여부와 연결된 Google 계정 이메일을 함께 관리합니다. 연결이 되어 있으면 일정이 정상 표시되고, 끊겨 있으면 안내 메시지가 표시됩니다.

상태위젯 표시
연결됨이번 주 일정이 정상 표시
미연결 / 만료연결(재연결) 안내 메시지

연결되면 시스템은 연결된 Google 계정 이메일과 토큰 만료 시각을 함께 보관합니다.

3.2 연결 해제 / 계정 변경

연결을 끊는 동작(저장된 연결 정보 삭제)은 서버에 마련되어 있으나, 현재 주간 일정 위젯 화면에는 별도의 "해제" 버튼이 노출되지 않습니다. 따라서 실무에서는 다음 방법으로 처리합니다.

  • 다른 Google 계정으로 바꾸기: 관리자가 [캘린더 재연결]로 새 계정을 동의하면, 기존 연결이 새 계정 정보로 덮어쓰기 됩니다. 별도 해제 없이 계정만 교체됩니다.
  • 연결을 완전히 끊기: 위젯에 해제 UI가 없으므로, 운영 담당자/관리자에게 연결 해제를 요청하거나 Google 권한 페이지에서 앱 접근 권한을 회수합니다.

💡 계정 교체는 재연결만으로 끝나므로, 일반적으로는 "해제 → 재연결" 대신 곧바로 [캘린더 재연결]을 사용하는 것이 간편합니다.

4. 주간 일정 위젯 보기: 주 단위 이동

구글 캘린더에서 끌어온 주간 일정 위젯의 일곱 날 칸
구글 캘린더에서 끌어온 주간 일정 위젯의 일곱 날 칸

위젯은 월요일~금요일 5일을 가로로 나란히 보여 줍니다. 기본값은 이번 주입니다.

4.1 위젯 레이아웃

주간 일정 위젯은 월~금을 가로로 놓고 각 날짜의 일정을 표시합니다. 상단의 [‹] [이번 주] [›] 로 주를 이동합니다.

4.2 주 단위 이동 컨트롤

버튼동작
‹ (왼쪽 화살표)이전 주로 이동
이번 주현재 주로 즉시 복귀
› (오른쪽 화살표)다음 주로 이동

💡 이전·다음 주로 자유롭게 이동할 수 있습니다. 지난 주로 이동하면 보관된 스냅샷(6장)이 우선 표시됩니다.

5. 일정 표시 방식: 종일 일정·시간 일정·색상

5.1 일정 종류별 표기

종류표시 방식
시간 일정시작 시각 + 제목 (예: 오전10시 주간회의)
종일 일정제목만 표시 (시각 없음)
여러 날 일정걸쳐 있는 모든 날짜 칸에 함께 표시

시각은 오전/오후 + 시(분) 형식으로 표기되며, 정각이면 분은 생략됩니다(예: 오후2시, 오전9시30분).

5.2 정렬 순서

하루 안에 일정이 여러 개면 다음 순서로 정렬됩니다.

  1. 종일 일정을 먼저 표시
  2. 시간 일정은 시작 시각이 이른 순

5.3 색상 배지

각 일정은 둥근 배지로 표시되며, 일정마다 고정된 파스텔 색이 부여됩니다. 같은 일정은 항상 같은 색으로 나타나 한눈에 구분하기 쉽습니다. 일정 위에 마우스를 올리면 상세 설명(또는 제목)이 툴팁으로 표시됩니다.

표시 요소의미
둥근 색상 배지개별 일정 1건
배지 안 굵은 글씨시작 시각
마우스 오버 툴팁일정 설명 / 제목 전체

💡 일정이 없는 날 칸에는 "일정 없음"이 표시됩니다. 불러오는 중에는 "로딩 중..."이 잠시 보입니다.

5.4 어떤 캘린더의 일정이 표시되나

위젯은 연결된 Google 계정의 캘린더 목록에서 이름이 `musign`인 캘린더(대소문자 무시)를 찾아 그 일정만 표시합니다. 해당 이름의 캘린더가 없으면 계정의 기본 캘린더(primary)로 자동 대체됩니다.

⚠️ 일정이 정상 연결인데도 비어 보인다면, 가장 흔한 원인은 캘린더 이름이 `musign`이 아니어서 위젯이 엉뚱한(기본) 캘린더를 읽고 있는 경우입니다. 공유하려는 일정을 musign 이름의 캘린더에 모아 두면 확실하게 표시됩니다. (위젯에서 표시 대상 캘린더를 직접 고르는 설정은 제공되지 않습니다.)

6. 지난 주 스냅샷 자동 보관

주간 일정 위젯은 지난 주로 이동하면 그 주의 일정을 스냅샷으로 자동 저장합니다. 이후에는 원본 캘린더가 바뀌어도, 보고 시점에 보관된 일정이 그대로 유지됩니다.

6.1 스냅샷 동작

보는 주표시 방식
이번 주실시간 일정 (항상 최신)
지난 주 - 처음 열람실시간으로 불러와 스냅샷으로 저장합니다
지난 주 - 다시 열람저장된 스냅샷을 그대로 보여줍니다 (📷 표시)

지난 주로 이동했을 때 위젯 제목 옆에 📷 스냅샷 라벨이 보이면, 실시간 조회가 아닌 보관된 기록을 보고 있다는 뜻입니다.

보는 주데이터 출처라벨
이번 주 / 다음 주실시간 조회없음
지난 주 (스냅샷 있음)보관된 스냅샷📷 스냅샷

💡 스냅샷 덕분에, 주간 업무 보고를 나중에 다시 열어봐도 그 주에 실제로 잡혀 있던 일정이 보존됩니다. 일정이 사후에 수정·삭제돼도 보고 기록은 흔들리지 않습니다.

7. 연결 만료와 재연결

Google 연결은 일정 시간이 지나거나, 외부에서 권한이 회수되면 만료될 수 있습니다. 만료되면 위젯에 안내가 표시되고, 관리자가 다시 연결하면 즉시 복구됩니다.

7.1 만료 시 화면

권한만료 시 표시
관리자 / 최고 관리자"Google Calendar 연결이 만료되었습니다" + [캘린더 재연결] 버튼
일반 구성원"관리자에게 캘린더 연결 재인증을 요청해 주세요" 안내

7.2 재연결 절차

관리자는 위젯의 [캘린더 재연결] 버튼을 눌러 2장과 동일한 동의 절차를 한 번 더 진행하면 됩니다. 재연결이 끝나면 위젯이 자동으로 새 일정을 표시합니다.

⚠️ 일시적인 네트워크 문제로 "캘린더를 불러오지 못했습니다"가 표시될 수도 있습니다. 이 경우는 만료가 아니므로 잠시 후 다시 시도하면 됩니다.

8. 권한별 화면 차이

같은 위젯이라도 보는 사람의 권한에 따라 노출되는 버튼과 안내가 다릅니다.

상황관리자 / 최고 관리자일반 구성원
정상 연결됨주간 일정 열람 (설정 버튼 없음)주간 일정 열람
연결 만료재연결 버튼 표시"관리자에게 요청" 안내
계정 변경[캘린더 재연결]로 덮어쓰기불가

💡 연결·재연결·해제는 회사 공용 설정이므로, 운영을 맡은 관리자가 일원화해 관리하는 것을 권장합니다.

9. 운영 팁 & 자주 묻는 질문

운영 팁

  • 캘린더 연결은 운영 담당 관리자 1명이 책임지고 설정·관리하면 혼선이 적습니다.
  • 위젯이 읽는 캘린더는 `musign` 이름의 캘린더로 고정되어 있습니다. 구성원 모두에게 공유할 일정은 연결 계정에 `musign`이라는 이름의 캘린더를 만들어 그 안에 모아 두면 위젯에 정확히 표시됩니다. (해당 이름이 없으면 기본 캘린더가 사용되어, 의도치 않은 일정이 보이거나 비어 보일 수 있습니다.)
  • 주간 보고를 마친 주는 한 번씩 지난 주로 이동해 스냅샷이 보관되도록 해 두면 기록이 안전합니다.

자주 묻는 질문

Q. 구성원마다 각자 자기 캘린더를 연결해야 하나요?

아니요. 연결은 회사(테넌트) 단위로 한 번만 설정하면 됩니다. 관리자가 연결해 두면 모든 구성원이 같은 주간 일정을 봅니다.

Q. 위젯이 제 캘린더 일정을 바꾸지는 않나요?

바꾸지 않습니다. 읽기 전용 권한만 사용하므로 일정을 불러와 표시할 뿐, 생성·수정·삭제하지 않습니다.

Q. 지난 주 일정을 봤는데 "스냅샷" 표시가 떠요. 최신이 아닌가요?

지난 주는 보고 시점에 저장된 스냅샷을 보여 줍니다. 이는 의도된 동작으로, 사후에 일정이 변경돼도 그 주의 보고 기록을 보존하기 위함입니다. 이번 주·다음 주는 항상 실시간으로 표시됩니다.

Q. "연결이 만료되었습니다"가 떴어요. 일정이 사라진 건가요?

일정이 사라진 것이 아니라 Google 연결 인증이 만료된 것입니다. 관리자가 [캘린더 재연결]로 다시 동의하면 즉시 복구됩니다. 보관된 지난 주 스냅샷은 만료와 무관하게 그대로 유지됩니다.

Q. 연결한 Google 계정을 바꾸고 싶어요.

관리자가 [캘린더 재연결]로 원하는 계정에 동의하면 기존 연결이 새 계정 정보로 덮어쓰기 됩니다. 위젯에는 별도의 "해제" 버튼이 없으므로, 보통 해제 없이 재연결만으로 계정을 교체합니다.

Q. 연결은 정상인데 일정이 하나도 안 보여요.

가장 흔한 원인은 캘린더 이름이 `musign`이 아니어서 위젯이 다른(기본) 캘린더를 읽고 있는 경우입니다. 공유할 일정을 musign 이름의 캘린더로 모아 보세요. 또는 일시적인 네트워크 문제라면 "캘린더를 불러오지 못했습니다"가 떴다가 잠시 후 다시 시도하면 됩니다.

Q. 재연결을 했는데 계속 "만료되었습니다"로 돌아와요.

같은 계정에 이미 동의 이력이 있으면 Google이 갱신 토큰을 다시 주지 않아 연결이 저장되지 않을 수 있습니다(google=norefresh). Google 권한 페이지에서 앱 접근 권한을 회수한 뒤 [캘린더 재연결]을 다시 진행하세요(2.4 참고).