구글 Apps Script "차단된 앱" 오류, 비개발자가 푼 방법
Easy SNS의 이용권 서버를 구글 시트와 Apps Script로 만들고, 처음 실행하려고 권한 승인을 누른 순간 이런 화면이 나왔습니다.
차단된 앱 — 앱이 Google 계정의 민감한 정보에 액세스를 시도했습니다. 계정을 안전하게 보호하기 위해 Google에서 액세스를 차단했습니다.
내가 만든 스크립트를 내가 쓰겠다는데 막다니요. 보통은 “확인되지 않은 앱” 경고가 나오고 고급 → 이동을 누르면 넘어갈 수 있는데, 이번에는 그 버튼조차 없었습니다.
1차 시도: 권한 줄이기 (실패)
스크립트가 “내 모든 구글 시트를 보고 수정”하는 넓은 권한을 요청하면 막히기 쉽다고 해서, 코드 맨 위에 한 줄을 넣어 이 시트 하나만 쓰도록 줄였습니다.
/** @OnlyCurrentDoc */
권한은 실제로 줄어들었지만, 결과는 똑같이 “차단된 앱”이었습니다.
2차 시도: 구글 클라우드 프로젝트 연결 (성공)
같은 문제를 겪은 사람들의 이야기를 찾아보니, 일부 개인 구글 계정에서는 Apps Script가 자동으로 만드는 이름 없는 기본 프로젝트가 막히는 경우가 있고, 내 이름으로 된 구글 클라우드 프로젝트를 연결하면 풀린다고 했습니다.
“구글 클라우드는 유료 아니야?” 싶었지만, 프로젝트를 만들고 동의 화면을 설정하는 것은 무료이고 결제 계정(카드)을 연결하지 않으면 요금이 나갈 방법도 없습니다.
순서는 이렇습니다.
- 구글 클라우드 콘솔에서 새 프로젝트 만들기
- Google 인증 플랫폼 → 시작하기: 앱 이름, 지원 이메일, 대상은 외부
- 대상 → 테스트 사용자에 내 이메일 추가 (이걸 빼먹으면 “테스트 중인 앱이라 액세스 차단됨”이 나옵니다)
- 프로젝트 설정에서 프로젝트 번호 복사
- Apps Script의 프로젝트 설정 → GCP 프로젝트 변경에 번호 붙여 넣기
- 다시 승인 → “Google에서 확인하지 않은 앱” 화면에서 계속
이번에는 “차단된 앱” 대신 정상적인 확인 화면이 나왔고, 승인도 끝났습니다.
남은 숙제: 7일 제한
동의 화면이 테스트 상태이면 승인이 7일마다 만료된다는 점을 알게 됐습니다. 서버가 일주일마다 멈출 수 있다는 뜻이라, 실제로 판매하기 전에 동의 화면을 게시(프로덕션) 상태로 바꿔야 합니다.
그런데 게시하려면 홈페이지와 개인정보처리방침 주소가 필요했습니다. 그래서 지금 이 사이트를 만들게 됐습니다. 문제 하나를 풀다 보니 다음 할 일이 저절로 정해진 셈입니다.
정리
- “차단된 앱”은 권한을 줄여도 안 풀릴 수 있다.
- 무료 구글 클라우드 프로젝트를 연결하고 테스트 사용자에 내 이메일을 넣으면 풀린다.
- 실제 서비스라면 7일 제한 때문에 동의 화면 게시까지 해야 한다.