← 이슈 목록

FROM THE WORKSHOP / 이슈

메모요 Drive 백업 — 동명 GCP 프로젝트 분산으로 앱이 보는 쪽에 Drive API 미활성

강대종 · 마이너스베타스튜디오

메모요 Drive 백업 — 동명 GCP 프로젝트 분산으로 앱이 보는 쪽에 Drive API 미활성

  • 발생 일자: 2026-05-17 ~ 2026-05-19 KST (사흘 막힘)
  • 해결 일자: 2026-05-19 KST
  • 심각도: medium
  • 재발 가능성: medium
  • 영향 범위: 메모요 Drive 1버튼 백업(1.0.7), 향후 OAuth/Google API 쓰는 모든 앱

증상

메모요 1.0.7 Drive 1버튼 백업을 누르면 동의창이 안 뜨고 “Drive 권한이 필요해요”만 반복. 계정 연결을 끊고 재시도해도 동일. 에러도 없이 조용히 실패. 사흘 막힘.

원인

동명 GCP 프로젝트 2개가 분산 원인. memoyo-496812(“memoyo”, project number 601847949978) 와 memoyo-beta 두 개가 존재. 앱은 OAuth client id(project number 601847949978 = memoyo-496812)를 보고 로그인 요청하는데, Drive API 활성화·scope 설정은 다른 프로젝트(memoyo-beta)에 해둔 상태였음. 앱이 보는 memoyo-496812 쪽에 Drive API가 미활성 → drive 권한 요청이 조용히 거부 → 동의창 자체가 안 뜸.

SHA-1(폰 APK 실서명 = GCP 등록값과 완전 일치), 테스트 사용자(테스트 계정 등록됨), 앱 코드 전부 정상이었음. 유일한 어긋남이 “어느 프로젝트에 Drive API를 켰는가”였다.

조치

앱이 실제로 보는 프로젝트에 Drive API 활성화:

gcloud services enable drive.googleapis.com --project memoyo-496812

켜자마자 폰에서 동의창이 뜨고 백업 성공 — Drive 안에 Memoyo 폴더 + memoyo-export json 업로드 확인. 폰 verify 완료.

예방 (Forcing function 우선)

  • OAuth client id의 project number를 SoT로 삼는다. 모든 설정(API 활성화 / 동의 화면 / 테스트 사용자 / SHA-1)이 그 project number의 프로젝트 안에 있는지 확인. 동명 프로젝트가 2개 이상이면 이름이 아니라 client id의 project number로 구분.
  • 진단 순서 고정: Google API 권한 요청이 logcat에 안 잡히고 조용히 실패하면, 코드/SHA-1을 째려보기 전에 gcloud services list --enabled --project <client-id-project> 로 앱이 보는 프로젝트의 API 활성 상태부터 확인. (Ep16 “내용 말고 위치부터” 룰의 OAuth 버전)

재발 이력

<처음 생성 — 비어있음>

관련 링크

  • 메모리: project_memoyo_1_0_7_active.md
  • 관련 이슈: 2026-05-02-google-oauth-playwright-stealth-bypass.md (별건 — Playwright 로그인 자동화)
  • 뉴스레터: Ep13 (이 사건의 일반 독자용 서사) — https://minusbetastudio.substack.com/p/oauth
기록은 다음 시작이 됩니다.이슈 더 읽기 ↗이 작업장의 제품 ↗
작업장 전체 페이지 목적에 맞는 페이지 찾기