구글 용량 꽉 찼을 때 결제 금지! AI 에이전트와 함께 만든 ‘안전한’ 지메일 청소 봇

안녕하세요! 어느 날 갑자기 스마트폰에 “구글 저장 용량이 꽉 찼습니다. 더 이상 이메일을 받을 수 없습니다” 라는 무시무시한 경고창이 떠서 당황하신 적 있으시죠?

우리 구글 용량을 갉아먹는 진짜 범인은 지메일(Gmail) 구석에 10년 넘게 방치된 ‘대용량 첨부파일’들입니다. 이걸 손으로 일일이 지우는 건 미친 짓이죠.

그래서 저는 구글의 강력한 최신 AI 코딩 비서인 ‘Antigravity Cloud Agent(안티그래비티 클라우드 에이전트)’에게 프롬프트를 내려서 “1초 만에 첨부파일 쓰레기를 정리하는 파이썬 봇”을 만들게 했습니다.

단순히 묻지도 따지지도 않고 삭제해 버리면 중요한 파일이 날아갈까 봐 무섭잖아요? 그래서 AI와 티키타카를 하며 “최근 메일은 건드리지 말고, 삭제하기 전에 [삭제 대기함] 폴더로 먼저 분류해 줘!”라는 안전장치까지 완벽하게 걸어두었습니다. 그 제작 과정을 모두 공개합니다!


1단계: AI 에이전트에게 똑똑하게 프롬프트 지시하기

처음에는 무조건 삭제하라고 지시했다가 아차 싶어서 프롬프트를 이렇게 수정했습니다.

[실제 사용한 프롬프트] “내 구글 용량이 꽉 찼어. 지메일에서 대용량 첨부파일이 있으면서 1년이 지난(365일 이상 된) 오래된 메일들만 찾아내 줘. 단, 바로 삭제하지 말고 ‘[삭제 대기함]’ 이라는 라벨(폴더)을 만들어서 거기로 다 옮겨주는 파이썬 스크립트를 짜줘. 내가 나중에 눈으로 확인하고 지울 수 있게 말이야. 초보자도 바로 실행할 수 있게 구글 API 인증 과정도 코드에 포함해 줘.”

이렇게 지시하니, AI가 최근 중요한 파일은 보호하고 오래된 쓰레기만 격리하는 완벽한 안전 코드를 만들어주었습니다.


2단계: 구글에게 내 메일함 접근 허락받기 (마스터키 발급)

AI가 짜준 코드를 돌리려면 구글에게 합법적인 ‘API 키’를 받아야 합니다.

  1. [구글 클라우드 콘솔]에 접속합니다.
  2. 새 프로젝트를 만들고 [API 및 서비스] -> [라이브러리]에서 Gmail API를 사용 설정합니다.
  3. [사용자 인증 정보]에서 OAuth 클라이언트 ID를 생성하고, client_secrets.json 파일을 다운받아 바탕화면에 둡니다.

[!TIP] AI도 한 번에 해결 못한 403 에러 방지 꿀팁! 이 과정에서 “Access blocked: 403 Error”가 뜨면서 막힐 수 있습니다. 저도 여기서 에이전트와 한참 씨름했는데요. 왼쪽 메뉴에서 [OAuth 동의 화면] -> [테스트 사용자] 항목에 들어가서 내 지메일 주소(myemail@gmail.com)를 직접 타이핑해서 추가해주셔야 권한 에러가 나지 않습니다. 에이전트가 찾아낸 핵심 해결책입니다!


3단계: AI가 짜준 마법의 안전 코드 복붙하기

내 컴퓨터에 gmail_cleaner.py라는 파일을 만들고, AI가 작성해 준 아래 코드를 그대로 붙여넣습니다.

import os
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow

# 로봇에게 메일 접근 권한 부여 (수정 권한 포함)
SCOPES = ['https://mail.google.com/']
LABEL_NAME = '[삭제 대기함]'

def get_or_create_label(service):
    # 기존 라벨 찾기
    results = service.users().labels().list(userId='me').execute()
    labels = results.get('labels', [])
    for label in labels:
        if label['name'] == LABEL_NAME:
            return label['id']

    # 없으면 새로 생성하기
    label_object = {
        'name': LABEL_NAME,
        'labelListVisibility': 'labelShow',
        'messageListVisibility': 'show'
    }
    created_label = service.users().labels().create(userId='me', body=label_object).execute()
    return created_label['id']

def main():
    # 바탕화면의 client_secrets.json 열쇠로 구글 로그인
    flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES)
    creds = flow.run_local_server(port=0)
    service = build('gmail', 'v1', credentials=creds)

    print("지메일 대용량 쓰레기 메일 스캔을 시작합니다...")

    # [안전장치 1] 1년이 지난(older_than:365d) 첨부파일 메일만 검색!
    query = 'has:attachment larger:10M older_than:1y'

    try:
        results = service.users().messages().list(userId='me', q=query, maxResults=5000).execute()
        messages = results.get('messages', [])

        if not messages:
            print("조건에 맞는 오래된 쓰레기 메일이 없습니다! 아주 깨끗하네요!")
            return

        print(f"총 {len(messages)}개의 오래된 메일을 발견했습니다.")

        # [안전장치 2] 바로 삭제하지 않고 [삭제 대기함] 라벨 붙이기
        label_id = get_or_create_label(service)

        for msg in messages:
            service.users().messages().modify(
                userId='me', 
                id=msg['id'], 
                body={'addLabelIds': [label_id], 'removeLabelIds': ['INBOX']}
            ).execute()

        print(f"안전하게 모든 메일을 '{LABEL_NAME}' 폴더로 이동시켰습니다! 확인 후 삭제해주세요.")

    except Exception as e:
        print(f"에러 발생: {e}")

if __name__ == '__main__':
    main()

4단계: 파이썬 필수 패키지 설치 및 로봇 실행하기!

맥북은 터미널(Terminal), 윈도우는 명령 프롬프트(cmd)를 열고 코드를 저장한 바탕화면 폴더로 이동합니다. 

구글 로봇이 움직이려면 필수 부품이 필요합니다. 터미널 창에 아래 명령어를 쳐주세요. (딱 한 번만 하시면 됩니다.)

pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib

설치가 끝났다면, 대망의 로봇 실행 마법의 주문을 외워주세요.

python3 gmail_cleaner.py

실행이 끝나면 지메일에 접속해 보세요! 왼쪽 메뉴에 [삭제 대기함] 이라는 폴더가 예쁘게 생겨있고, 그 안에 10년 묵은 첨부파일 쓰레기들이 안전하게 격리되어 있을 겁니다. 

한 번 쓱 눈으로 훑어보시고, 중요한 메일이 없다면 폴더 비우기를 눌러 한 방에 날려버리세요. 구글 용량 압박에서 영원히 해방될 수 있습니다.


태그(Tags): #AntigravityCloudAgent #안티그래비티 #지메일용량정리 #AI자동화 #파이썬코딩