Data/Python

[Google Developers] GMAIL API 사용방법 1 - 소개

뚱요 2022. 11. 23. 23:00
반응형


오늘은 재미있는 프로젝트 하나를 소개하겠습니다. 실제로 업무에서도 사용해보았고 편하게 사용하고 있어 공유드립니다.

출처: Gmail API

1. GMAIL API 소개

다양한 구글 제품들을 API를 통해서 데이터 수집 및 관리를 할 수 있습니다. 그중에서 GMAIL로 활용하는 방법에 대해 공유합니다.
공식문서에 가면 아직 한국어로 나와 있지 않은 상태입니다. 맨 위의 소개란에 보면 Java, JS, Python, Go , Node.js로 GMAIL과 상호작용 할 수 있도록 돕습니다.

공식문서가 가장 도움이 되었습니다. 이외에도 나중에 찾아보니 구글 G suite dev show로 간단하게 영상 만들어서 공유하고 있습니다.

2. Overview

Gmail mailbox에 접근해서 사용할 수 있는 Restful API를 google Develoers에서 제공하고 있습니다.

활용 예.

저는 이메일에 담긴 정보를 기반으로 필터링해서 원하는 정보만 가져오도록 파이썬으로 프로그래밍했습니다.
참고로 colab에서는 불가하고 로컬 환경에서 사용 가능합니다.

3. 용어

문서 읽으시다 보면 gmail api에서 사용하는 용어가 있어 정리합니다.

3.1 메시지 Message

구성

  • 수신자/받는 사람 recipients
  • 송신자/보내는 사람 sender
  • 제목 subject
  • 내용 body

메시지는 한 번 생성되면 변경 불가

3.2 스레드 Thread

관련된 메시지의 집합으로 1명 이상이 메시지에 응답한 경우
하단의 이미지를 보면 동일한 송신자여도 관련 메시지인 경우 숫자가 표기되면서 대화처럼 연결되어 보입니다.

3.3 라벨 Label

메시지, 스레드를 정렬할 때 사용
이메일에 보면 스스로 만든 라벨, 중요한 메일이 해당합니다.

1) 시스템 라벨 System labels
시스테에서 이미 만들어진 라벨(기본값)로 라벨 자체를 개인이 삭제 및 변경 불가
몇몇 기본 라벨은 메시지, 스레드에 적용하거나 변경, 제거할 수 있습니다.

  • 받은 편지함(INBOX), 휴지통( TRASH), 스팸함(SPAM)

2) 유저 라벨 User labels
유저가 생성한 라벨로 변경, 삭제 가능하다.
하단의 이미지는 예시로 시스템 라벨인 받은 편지함과 유저 라벨인 라벨 테스트를 적용한 이메일 이미지입니다.

3.4 임시 보관함 Draft

아직 보내지 않아 임시 보관되는 메시지
초안을 보내게 되면 자동적으로 초안이 삭제되면서 sent라는 라벨이 생성된 메시지가 생성됩니다.


다음 편은 api key 생성, 발급하고 가장 간단한 프로젝트 소개합니다.


출처

https://developers.google.com/gmail

Gmail for Developers  |  Google Developers

Develop Gmail solutions.

developers.google.com

https://developers.google.com/gmail/api

Gmail API  |  Google Developers

Integrate your service with Gmail.

developers.google.com

https://developers.google.com/gmail/api/quickstart/python

Python quickstart  |  Gmail API  |  Google Developers

Send feedback Python quickstart Stay organized with collections Save and categorize content based on your preferences. Quickstarts explain how to set up and run an app that calls a Google Workspace API. Google Workspace quickstarts use the API client libra

developers.google.com

반응형