3-2. 사용자 계정 OAuth 방식
연동 전용 계정이 OAuth 동의로 발급한 리프레시 토큰으로 접속합니다. 서비스 계정 키와 도메인 전체 위임이 필요하지 않습니다.
| 항목 | 내용 |
|---|---|
| 알림 센터 | 사용할 수 없음. 알림 센터 범위는 동의 화면에서 400 오류: invalid_scope로 차단됨 |
| 토큰이 만료되는 경우 | 동의한 계정의 비밀번호 변경, 구글 계정에서 앱 액세스 철회, 6개월 미사용, 사용자 유형이 외부이고 게시 상태가 테스트인 경우 7일 경과 |
| 동의할 계정 | 담당자 개인 계정 대신 연동 전용 계정 권장 (담당자 변경·퇴사에 영향받지 않음) |
| 스프레드시트 | 동의한 계정에 공유되어 있어야 함(읽기는 보기, 쓰기는 편집). 도메인이 다르면 드라이브 외부 공유 정책에 따라 제한될 수 있음 |
| 구글 클라우드 프로젝트 | 이 연동 전용 프로젝트 권장. OAuth 동의 화면은 프로젝트의 모든 클라이언트가 공유하므로, 다른 앱이 쓰는 프로젝트를 재사용하면 앱 이름·사용자 유형·게시 상태가 섞임. 서비스 계정 방식에서 만든 프로젝트는 함께 써도 됨 |
| 앱 버전 | 1.9.2610.0 이상 권장. 미만 버전도 수집은 되지만 고객 ID·위임된 계정에 임의 값이 필요하고 권한 오류 안내가 표시되지 않음 |
단계 1: OAuth 동의 화면
-
구글 클라우드 콘솔에서 Google 인증 플랫폼으로 이동합니다. 처음이면 개요에 "Google 인증 플랫폼이 아직 구성되지 않음"이 표시되니 시작하기를 클릭합니다.
-
앱 정보에 앱 이름(예:
Logpresso Sonar)과 사용자 지원 이메일을 입력합니다. 사용자 지원 이메일은 동의 화면에 표시되는 문의처로, 권한에는 영향이 없습니다. -
대상에서 내부를 선택합니다. 조직 외부 계정이나 개인 계정이면 외부를 선택하고, 이후 앱 게시로 프로덕션으로 전환해야 토큰이 7일 뒤 만료되지 않습니다.
-
연락처 정보를 입력하고 만들기를 클릭합니다. 사용자 유형이 내부이면 데이터 액세스에 범위를 따로 등록하지 않아도 됩니다.
단계 2: OAuth 클라이언트
-
Google 인증 플랫폼 > 클라이언트 > 클라이언트 만들기에서 다음과 같이 입력하고 만들기를 클릭합니다.
항목 입력값 애플리케이션 유형 웹 애플리케이션 이름 콘솔에서 식별할 이름 승인된 리디렉션 URI https://developers.google.com/oauthplayground -
표시되는 대화 상자에서 클라이언트 ID와 클라이언트 보안 비밀번호를 복사해 보관합니다. 대화 상자를 닫으면 보안 비밀번호를 다시 볼 수 없습니다.
단계 3: 리프레시 토큰 발급
-
시크릿 창에서 OAuth 2.0 Playground에 접속해 오른쪽 위 톱니바퀴를 클릭하고 다음과 같이 설정합니다.
설정 항목 값 OAuth flow Server-side Access type Offline Force prompt Consent Screen Use your own OAuth credentials 체크 OAuth Client ID / secret 단계 2에서 만든 클라이언트 ID와 보안 비밀번호 -
왼쪽 Step 1의 입력란(
Input your own scopes)에 사용할 기능의 범위를 공백으로 구분해 입력하고 Authorize APIs를 클릭합니다. 기능별 범위는 1. 기능별 필요 권한의 "OAuth 범위" 열에서 확인합니다.알림 센터를 제외한 전체 기능을 사용하려면 아래 문자열을 그대로 붙여 넣습니다.
https://www.googleapis.com/auth/admin.reports.audit.readonly https://www.googleapis.com/auth/admin.directory.domain.readonly https://www.googleapis.com/auth/admin.directory.user.readonly https://www.googleapis.com/auth/admin.directory.group.readonly https://www.googleapis.com/auth/drive.apps.readonly https://www.googleapis.com/auth/spreadsheets.readonly https://www.googleapis.com/auth/spreadsheets -
계정 선택 화면에서 연동 전용 계정으로 로그인하고, 요청 권한을 확인한 뒤 허용을 클릭합니다.
-
Step 2의 Exchange authorization code for tokens를 클릭하고 응답을 확인합니다.
응답 값 확인할 것 refresh_token1//로 시작하는 값. 접속 프로파일에 사용scope입력한 범위가 모두 있는지 확인. 빠졌다면 동의 화면에서 일부를 해제한 것이니 다시 발급 access_token1시간 뒤 만료되는 값. 사용하지 않음
https://www.googleapis.com/auth/apps.alerts)를 넣으면 동의 화면에서 차단됩니다. 범위에서 빼고 다시 진행하세요.








