비개발자 연구실

구글 Apps Script "차단된 앱" 오류, 비개발자가 푼 방법

Easy SNS의 이용권 서버를 구글 시트와 Apps Script로 만들고, 처음 실행하려고 권한 승인을 누른 순간 이런 화면이 나왔습니다.

차단된 앱 — 앱이 Google 계정의 민감한 정보에 액세스를 시도했습니다. 계정을 안전하게 보호하기 위해 Google에서 액세스를 차단했습니다.

내가 만든 스크립트를 내가 쓰겠다는데 막다니요. 보통은 “확인되지 않은 앱” 경고가 나오고 고급 → 이동을 누르면 넘어갈 수 있는데, 이번에는 그 버튼조차 없었습니다.

1차 시도: 권한 줄이기 (실패)

스크립트가 “내 모든 구글 시트를 보고 수정”하는 넓은 권한을 요청하면 막히기 쉽다고 해서, 코드 맨 위에 한 줄을 넣어 이 시트 하나만 쓰도록 줄였습니다.

/** @OnlyCurrentDoc */

권한은 실제로 줄어들었지만, 결과는 똑같이 “차단된 앱”이었습니다.

2차 시도: 구글 클라우드 프로젝트 연결 (성공)

같은 문제를 겪은 사람들의 이야기를 찾아보니, 일부 개인 구글 계정에서는 Apps Script가 자동으로 만드는 이름 없는 기본 프로젝트가 막히는 경우가 있고, 내 이름으로 된 구글 클라우드 프로젝트를 연결하면 풀린다고 했습니다.

“구글 클라우드는 유료 아니야?” 싶었지만, 프로젝트를 만들고 동의 화면을 설정하는 것은 무료이고 결제 계정(카드)을 연결하지 않으면 요금이 나갈 방법도 없습니다.

순서는 이렇습니다.

  1. 구글 클라우드 콘솔에서 새 프로젝트 만들기
  2. Google 인증 플랫폼 → 시작하기: 앱 이름, 지원 이메일, 대상은 외부
  3. 대상 → 테스트 사용자에 내 이메일 추가 (이걸 빼먹으면 “테스트 중인 앱이라 액세스 차단됨”이 나옵니다)
  4. 프로젝트 설정에서 프로젝트 번호 복사
  5. Apps Script의 프로젝트 설정 → GCP 프로젝트 변경에 번호 붙여 넣기
  6. 다시 승인 → “Google에서 확인하지 않은 앱” 화면에서 계속

이번에는 “차단된 앱” 대신 정상적인 확인 화면이 나왔고, 승인도 끝났습니다.

남은 숙제: 7일 제한

동의 화면이 테스트 상태이면 승인이 7일마다 만료된다는 점을 알게 됐습니다. 서버가 일주일마다 멈출 수 있다는 뜻이라, 실제로 판매하기 전에 동의 화면을 게시(프로덕션) 상태로 바꿔야 합니다.

그런데 게시하려면 홈페이지와 개인정보처리방침 주소가 필요했습니다. 그래서 지금 이 사이트를 만들게 됐습니다. 문제 하나를 풀다 보니 다음 할 일이 저절로 정해진 셈입니다.

정리

← 연구 기록 목록