Gmail์„ OpenClaw์— ๋ถ™์ผ ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ํ—ท๊ฐˆ๋ฆฌ๋Š” ์ง€์ ์€ โ€œ๋ธŒ๋ผ์šฐ์ €๋กœ ๋ณด๋Š” ์ผโ€๊ณผ โ€œAPI๋กœ ์ž๋™ํ™”ํ•˜๋Š” ์ผโ€์„ ํ•œ ๋ฉ์–ด๋ฆฌ๋กœ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์‹ค์ œ๋กœ๋Š” ์ด ๋‘˜์˜ ์“ฐ์ž„์ƒˆ๊ฐ€ ๊ฝค ๋‹ค๋ฅด๋‹ค. ์ด ๋ฌธ์„œ๋Š” ์–ธ์ œ Browser Relay๋ฅผ ์“ฐ๊ณ , ์–ธ์ œ Gmail API OAuth๋ฅผ ์“ฐ๋ฉฐ, ์–ด๋–ค ๋ณด์•ˆ ๊ธฐ์ค€์œผ๋กœ ์šด์˜ํ•ด์•ผ ๋œ ๊นจ์ง€๋Š”์ง€๋ฅผ ํ•œ ๋ฒˆ์— ์ •๋ฆฌํ•œ ์‹ค๋ฌด ๊ฐ€์ด๋“œ๋‹ค.

์•ˆ๋‚ด: ๋ณธ๋ฌธ์€ ์ƒ์„ฑํ˜• AI๋ฅผ ํ™œ์šฉํ•ด ์ดˆ์•ˆ์„ ์ •๋ฆฌํ•˜๊ณ , ๊ณต์‹ ๋ฌธ์„œ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ๋žŒ์ด ๊ฒ€์ˆ˜ํ•ด ๋ณด์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

flowchart LR
A[๋ฉ”์ผ ๊ด€๋ จ ์š”์ฒญ] --> B{๋ฌด์—‡์ด ํ•„์š”ํ•œ๊ฐ€?}
B -->|ํ™”๋ฉด ํ™•์ธ/๋ฒ„ํŠผ ํด๋ฆญ| C[Browser Relay]
B -->|๊ฒ€์ƒ‰/๋ถ„๋ฅ˜/์ •๊ธฐ ์ ๊ฒ€| D[Gmail API OAuth]
C --> E[ํƒญ attach ๊ธฐ๋ฐ˜ ์กฐ์ž‘]
D --> F[ํ† ํฐ ๊ธฐ๋ฐ˜ ์ž๋™ํ™”]
E --> G[๊ฒฐ๊ณผ ๋ณด๊ณ ]
F --> G

๊ฒฐ๋ก  ๋จผ์ €

Gmail ์—ฐ๊ฒฐ์€ **โ€œUI ํ™•์ธ์€ Browser Relay, ๋ฐ˜๋ณต ์ž๋™ํ™”๋Š” Gmail APIโ€**๋กœ ๋‚˜๋ˆ„์–ด ์“ฐ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์•ˆ์ „ํ•˜๋‹ค.

์™œ ์ž๊พธ ํ—ท๊ฐˆ๋ฆฌ๋‚˜

๊ฒ‰์œผ๋กœ๋Š” ๋‘˜ ๋‹ค โ€œGmail ์—ฐ๊ฒฐโ€์ด์ง€๋งŒ ์‹ค์ œ ๋™์ž‘์€ ์™„์ „ํžˆ ๋‹ค๋ฅด๋‹ค.

  • Browser Relay๋Š” Gmail ์›น ํ™”๋ฉด์„ ์ง์ ‘ ์—ด์–ด ๋ณด๊ณ  ํด๋ฆญํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
  • Gmail API OAuth๋Š” ๋ฉ”์ผ ๋ชฉ๋ก, ๋ณธ๋ฌธ, ์ฒจ๋ถ€๋ฅผ ์ฝ”๋“œ๋‚˜ ์ž๋™ํ™” ๋ฃจํ‹ด์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

์ด ์ฐจ์ด๋ฅผ ๋จผ์ € ๊ณ ์ •ํ•˜์ง€ ์•Š์œผ๋ฉด,

  • ํ™”๋ฉด์€ ๋ณด์—ฌ์•ผ ํ•˜๋Š”๋ฐ API๋กœ๋งŒ ํ•ด๊ฒฐํ•˜๋ ค ํ•˜๊ฑฐ๋‚˜
  • ๋ฐ˜๋ณต ์ž๋™ํ™”๊ฐ€ ํ•„์š”ํ•œ๋ฐ Relay์—๋งŒ ์˜์กดํ•˜๊ฒŒ ๋˜์–ด ์ž‘์—…์ด ์ž๊พธ ํ”๋“ค๋ฆฐ๋‹ค.

์น ํŒ ํŒ์„œํ˜• ์น˜ํŠธ์‹œํŠธ

  1. ๋ฐ›์€ํŽธ์ง€ํ•จ์„ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•ด์•ผ ํ•˜๋ฉด Relay.
  2. ์ •๊ธฐ ์ ๊ฒ€ยท๊ฒ€์ƒ‰ยท๋ถ„๋ฅ˜ยท์ฒจ๋ถ€ ํƒ์ƒ‰์ด๋ฉด Gmail API.
  3. Gmail ๊ถŒํ•œ์€ ๊ธฐ๋ณธ read-only๋ถ€ํ„ฐ ์‹œ์ž‘.
  4. ์‚ญ์ œยท์™ธ๋ถ€ ๋ฐœ์†กยท๊ถŒํ•œ ๋ณ€๊ฒฝ์€ ์ž๋™ ์‹คํ–‰ ๊ธˆ์ง€, ์‚ฌ๋žŒ ์Šน์ธ ํ•„์ˆ˜.

๊ฐœ๋…/์›์ธ/๋Œ€์‘/์‹คํ–‰ (MECE)

1) ๊ฐœ๋…: Gmail ์—ฐ๊ฒฐ์€ 2๊ฐ€์ง€ ๊ฒฝ๋กœ๋‹ค

๊ตฌ๋ถ„Browser RelayGmail API OAuth
ํ•ต์‹ฌ ์—ญํ• ํ™”๋ฉด ํ™•์ธยทํด๋ฆญยท์ž…๋ ฅ๊ฒ€์ƒ‰ยท๋ถ„๋ฅ˜ยท์กฐํšŒยท์ž๋™ํ™”
๊ฐ•ํ•œ ์ž‘์—…๋ฒ„ํŠผ ์ƒํƒœ ํ™•์ธ, ์‹ค์ œ UI ์กฐ์ž‘์ •๊ธฐ ๋ชจ๋‹ˆํ„ฐ๋ง, ๋Œ€๋Ÿ‰ ์กฐํšŒ, ์ฒจ๋ถ€ ํƒ์ƒ‰
์•ฝํ•œ ์ž‘์—…ํฌ๋ก  ๊ธฐ๋ฐ˜ ๋ฐ˜๋ณต ์ž‘์—…ํ™”๋ฉด ์š”์†Œ ์ง์ ‘ ๊ฒ€์ฆ
์žฅ์•  ํฌ์ธํŠธํƒญ attach, ๋ธŒ๋ผ์šฐ์ € ์ƒํƒœํ† ํฐ, scope, OAuth ์„ค์ •

ํ•œ ์ค„๋กœ ๋งํ•˜๋ฉด,

  • ์ง€๊ธˆ ๋ˆˆ์œผ๋กœ ๋ณด๊ณ  ๋ˆŒ๋Ÿฌ์•ผ ํ•˜๋Š” ์ผ์€ Relay
  • ๋ฐ˜๋ณต๋˜๊ฑฐ๋‚˜ ์ž๋™์œผ๋กœ ๊ตด๋ ค์•ผ ํ•˜๋Š” ์ผ์€ API๋‹ค.

2) ์›์ธ: ํ˜„์žฅ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ํ‹€๋ฆฌ๋Š” 4๊ฐ€์ง€

  1. Gmail ํ™”๋ฉด ํ™•์ธ์ด ํ•„์š”ํ•œ๋ฐ API๋งŒ ๋ถ™์—ฌ ๋†“๊ณ  โ€œ์™œ ๋ฒ„ํŠผ ์ƒํƒœ๋ฅผ ๋ชป ๋ณด์ง€?โ€๋ผ๊ณ  ์ƒ๊ฐํ•จ
  2. ์ •๊ธฐ ๋ชจ๋‹ˆํ„ฐ๋ง์ด ํ•„์š”ํ•œ๋ฐ Relay๋งŒ ์ผœ ๋‘๊ณ  ์ž๋™ํ™”๋ฅผ ๊ธฐ๋Œ€ํ•จ
  3. gmail.readonly๋กœ ์ถฉ๋ถ„ํ•œ๋ฐ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ณผํ•œ ๊ถŒํ•œ์„ ์š”๊ตฌํ•จ
  4. ๋ฉ”์ผ ๋ณธ๋ฌธ/์ฒจ๋ถ€๋ฅผ ์‹ ๋ขฐํ•ด ์ž๋™ ๋‹ต์žฅยท์™ธ๋ถ€ ์ „์†ก๊นŒ์ง€ ์—ฐ๊ฒฐํ•˜๋ ค ํ•จ

3) ๋Œ€์‘: ๊ฐ€์žฅ ๋œ ๊นจ์ง€๋Š” ์šด์˜ ๊ธฐ์ค€์„ 

  • ๊ธฐ๋ณธ ์šด์˜: Gmail API๋ฅผ ์ฝ๊ธฐ ์ „์šฉ ์ค‘์‹ฌ์œผ๋กœ ๋‘๊ณ , ๋ฐ˜๋ณต ์—…๋ฌด๋Š” ์—ฌ๊ธฐ๋กœ ๊ณ ์ •ํ•œ๋‹ค.
  • ์˜ˆ์™ธ ์šด์˜: ์‹ค์ œ ํ™”๋ฉด ํ™•์ธ์ด ํ•„์š”ํ•  ๋•Œ๋งŒ Browser Relay๋ฅผ ์“ด๋‹ค.
  • ๋ณด์•ˆ ๊ธฐ์ค€: ์‚ญ์ œ, ์™ธ๋ถ€ ๋ฐœ์†ก, ๊ถŒํ•œ ๋ณ€๊ฒฝ, ๋Œ€๋Ÿ‰ ์ด๋™์€ ์‚ฌ๋žŒ ์Šน์ธ ํ๋ฅผ ๊ฑฐ์นœ๋‹ค.
  • ํŒ๋‹จ ์›์น™: โ€œ์ฝ๊ธฐ๋งŒ ํ•„์š”ํ•œ๊ฐ€, ํ™”๋ฉด ํด๋ฆญ์ด ํ•„์š”ํ•œ๊ฐ€โ€๋ฅผ ๋จผ์ € ๋ฌป๋Š”๋‹ค.

4) ์‹คํ–‰: 5๋ถ„ ์•ˆ์— ๊ฒฝ๋กœ ๊ณ ๋ฅด๋Š” ๋ฒ•

A. Browser Relay๋ฅผ ๊ณ ๋ฅด๋ฉด ์ข‹์€ ์ˆœ๊ฐ„

  • Gmail ์›น UI๊ฐ€ ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•  ๋•Œ
  • ๋ฒ„ํŠผ, ๋ผ๋ฒจ, ํƒญ, ๋“œ๋กญ๋‹ค์šด ์ƒํƒœ๋ฅผ ์‚ฌ๋žŒ์ด ํ•จ๊ป˜ ๊ฒ€์ฆํ•ด์•ผ ํ•  ๋•Œ
  • ์ž๋™ํ™”๋ณด๋‹ค โ€œ์ง€๊ธˆ ์ด ํ™”๋ฉด์—์„œ ๋ญ˜ ๋ˆŒ๋Ÿฌ์•ผ ํ•˜๋Š”์ง€โ€๊ฐ€ ์ค‘์š”ํ•  ๋•Œ

๋น ๋ฅธ ์ˆœ์„œ:

  1. Gmail์ด ์—ด๋ฆฐ ํƒญ์—์„œ Relay ์•„์ด์ฝ˜์„ ON ํ•œ๋‹ค.
  2. attach๋œ ํƒญ์ธ์ง€ ํ™•์ธํ•œ๋‹ค.
  3. snapshot์œผ๋กœ UI๊ฐ€ ๋ณด์ด๋Š”์ง€ ์ ๊ฒ€ํ•œ๋‹ค.
  4. ํ•„์š”ํ•œ ํ™•์ธยทํด๋ฆญยท์ž…๋ ฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  5. ๋๋‚˜๋ฉด Relay๋ฅผ ๋ˆ๋‹ค.

B. Gmail API OAuth๋ฅผ ๊ณ ๋ฅด๋ฉด ์ข‹์€ ์ˆœ๊ฐ„

  • ์‹ ๊ทœ ๋ฉ”์ผ์„ 30๋ถ„๋งˆ๋‹ค ํ™•์ธํ•˜๋Š” ํฌ๋ก ์ด ํ•„์š”ํ•  ๋•Œ
  • ํŠน์ • ๋ฐœ์‹ ์ž/์ œ๋ชฉ/์ฒจ๋ถ€ ์กฐ๊ฑด์œผ๋กœ ์ž๋™ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•  ๋•Œ
  • ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด์ง€ ์•Š๊ณ ๋„ ์•ˆ์ •์ ์œผ๋กœ ๋ฉ”์ผ์„ ์ฝ๊ณ  ๋ถ„๋ฅ˜ํ•ด์•ผ ํ•  ๋•Œ

๋น ๋ฅธ ์ˆœ์„œ:

  1. Google Cloud์—์„œ Desktop OAuth client๋ฅผ ๋งŒ๋“ ๋‹ค.
  2. ํ•„์š”ํ•œ scope๋ฅผ ์ •ํ•œ๋‹ค. ์ฒ˜์Œ์€ gmail.readonly๊ฐ€ ๊ธฐ๋ณธ์ด๋‹ค.
  3. OAuth ์Šน์ธ ํ›„ ํ† ํฐ์„ ๋ฐœ๊ธ‰๋ฐ›๋Š”๋‹ค.
  4. ๋ฉ”์ผ ์กฐํšŒ ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ํ•œ๋‹ค.
  5. ํ…Œ์ŠคํŠธ๊ฐ€ ์•ˆ์ •์ ์ด๋ฉด cron/์ž๋™ํ™”์— ๋ถ™์ธ๋‹ค.

๋ณด์•ˆ: Gmail ๊ถŒํ•œ์€ ํŽธ์˜์„ฑ์ด ์•„๋‹ˆ๋ผ ๊ณต๊ฒฉ๋ฉด๋„ ๊ฐ™์ด ์—ฐ๋‹ค

๋ฉ”์ผ ๋ณธ๋ฌธ๊ณผ ์ฒจ๋ถ€์—๋Š” ์‚ฌ๋žŒ์—๊ฒŒ๋Š” ํ‰๋ฒ”ํ•ด ๋ณด์ด์ง€๋งŒ, ์—์ด์ „ํŠธ์—๊ฒŒ๋Š” ํ–‰๋™ ์ง€์‹œ์ฒ˜๋Ÿผ ํ•ด์„๋  ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์ด ์„ž์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ Gmail ์—ฐ๊ฒฐ์€ โ€œ์—ฐ๊ฒฐ ์„ฑ๊ณตโ€๋ณด๋‹ค ๊ถŒํ•œ์„ ์–ด๋””๊นŒ์ง€ ์—ด์—ˆ๋Š”์ง€๊ฐ€ ๋” ์ค‘์š”ํ•˜๋‹ค.

๊ธฐ๋ณธ ๋ณด์•ˆ ์›์น™ 5๊ฐœ

  1. ์ตœ์†Œ ๊ถŒํ•œ ์›์น™
    ๊ธฐ๋ณธ์€ gmail.readonly๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค.
  2. ๊ณ ์œ„ํ—˜ ์•ก์…˜ ์Šน์ธ์ œ
    ์‚ญ์ œ, ์™ธ๋ถ€ ์ „์†ก, ๋Œ€๋Ÿ‰ ์ด๋™์€ ์ž๋™ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  3. allowlist ์šฐ์„ 
    ์‹ ๋ขฐ ๋ฐœ์‹ ์ž/๋„๋ฉ”์ธ/๊ฒ€์ƒ‰ ์กฐ๊ฑด๋งŒ ์ž๋™ํ™” ๋Œ€์ƒ์œผ๋กœ ๋ฌถ๋Š”๋‹ค.
  4. ์ฒจ๋ถ€ยท๋งํฌ๋Š” ๋‹จ๊ณ„ ๋ถ„๋ฆฌ
    ๋ฐ”๋กœ ์—ด์ง€ ๋ง๊ณ , ๊ฒ€์‚ฌโ†’ํŒ๋‹จโ†’์‹คํ–‰์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.
  5. UI ํ™•์ธ ๊ฒฝ๋กœ ์œ ์ง€
    ์˜์‹ฌ ๊ฑด์€ Relay๋กœ ์‚ฌ๋žŒ์ด ์ตœ์ข… ํ™•์ธํ•œ๋‹ค.

10์ดˆ ์ฒดํฌ

  • ์ด ์ž‘์—…์€ ์ฝ๊ธฐ ์ „์šฉ ๊ถŒํ•œ๋งŒ์œผ๋กœ ๊ฐ€๋Šฅํ•œ๊ฐ€?
  • ์ง€๊ธˆ ํ•„์š”ํ•œ ๊ฑด โ€œํด๋ฆญโ€์ธ๊ฐ€, โ€œ๊ฒ€์ƒ‰/๋ถ„๋ฅ˜โ€์ธ๊ฐ€?
  • ์‚ญ์ œยท์™ธ๋ถ€ ๋ฐœ์†ก ๊ฐ™์€ ์œ„ํ—˜ ์•ก์…˜์ด ์ž๋™์œผ๋กœ ์ด์–ด์ง€์ง€ ์•Š๋Š”๊ฐ€?

๋ฐ”๋กœ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ๋Œ€ํ‘œ ์œ ์ฆˆ์ผ€์ด์Šค

์‚ฌ๋ก€ A. ๊ต์œก์š”์ฒญ ๋ฉ”์ผ ๋ชจ๋‹ˆํ„ฐ๋ง

  • ๋ชฉ์ : ์‹ ๊ทœ ๋ฌธ์˜๋ฅผ ๋†“์น˜์ง€ ์•Š๊ธฐ
  • ๊ถŒ์žฅ ๊ฒฝ๋กœ: Gmail API OAuth
  • ์ด์œ : 30๋ถ„ ์ฃผ๊ธฐ ๊ฐ์‹œ, ํ•„ํ„ฐ๋ง, ์š”์•ฝ์€ API๊ฐ€ ๋” ์•ˆ์ •์ ์ด๋‹ค.

์‚ฌ๋ก€ B. ๋ฉ”์ผ ํ™”๋ฉด์—์„œ ์‹ค์ œ ๋ฒ„ํŠผ ์ƒํƒœ ํ™•์ธ

  • ๋ชฉ์ : โ€œ์ด ๋ผ๋ฒจ์ด ๋ณด์ด๋Š”์ง€โ€, โ€œ์ด ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™”๋๋Š”์ง€โ€ ํ™•์ธ
  • ๊ถŒ์žฅ ๊ฒฝ๋กœ: Browser Relay
  • ์ด์œ : API๋Š” ํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ์ง€ ๋ชปํ•œ๋‹ค.

์‚ฌ๋ก€ C. ํŠน์ • ๋ฐœ์‹ ์ž + ์ฒจ๋ถ€ ํ™•์žฅ์ž ํƒ์ƒ‰

  • ๋ชฉ์ : ์˜ˆ๋ฅผ ๋“ค์–ด pptx ์ฒจ๋ถ€๋งŒ ๋ชจ์•„ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ
  • ๊ถŒ์žฅ ๊ฒฝ๋กœ: Gmail API OAuth
  • ์ด์œ : ํ•„ํ„ฐ, ๊ฒ€์ƒ‰, ๋ฐ˜๋ณต ์ฒ˜๋ฆฌ์— ๊ฐ•ํ•˜๋‹ค.

์‚ฌ๋ก€ D. ์˜์‹ฌ ๋ฉ”์ผ ์ตœ์ข… ํ™•์ธ

  • ๋ชฉ์ : ๋งํฌ/์ฒจ๋ถ€๊ฐ€ ์ˆ˜์ƒํ•œ ๋ฉ”์ผ์„ ์‹ค์ œ ํ™”๋ฉด์œผ๋กœ ๊ฒ€ํ† 
  • ๊ถŒ์žฅ ๊ฒฝ๋กœ: API๋กœ 1์ฐจ ๋ถ„๋ฅ˜ + Relay๋กœ ์ตœ์ข… ํ™•์ธ
  • ์ด์œ : ์†๋„์™€ ์•ˆ์ „์„ ๊ฐ™์ด ์ฑ™๊ธธ ์ˆ˜ ์žˆ๋‹ค.

์ž์ฃผ ๋‚˜๋Š” ๋ฌธ์ œ์™€ ๋Œ€์‘

๋ฌธ์ œ๋ณดํ†ต ์›์ธ๋จผ์ € ํ•  ๋Œ€์‘
no tab is connectedRelay ON ํƒญ์ด ์—†์ŒGmail ํƒญ์—์„œ Relay ์•„์ด์ฝ˜ ON ํ›„ ๋‹ค์‹œ ํ™•์ธ
redirect_uri_mismatchOAuth client ํƒ€์ž…/์„ค์ • ๋ถˆ์ผ์น˜Desktop OAuth client ๊ธฐ์ค€์œผ๋กœ ์žฌ์ƒ์„ฑ
token not foundOAuth ์Šน์ธ ๋ฏธ์™„๋ฃŒ ๋˜๋Š” ์ €์žฅ ์‹คํŒจ์Šน์ธ ํ๋ฆ„ ์™„๋ฃŒ ํ›„ ํ† ํฐ ๊ฒฝ๋กœ ์žฌํ™•์ธ
์ฝ๊ธฐ๋Š” ๋˜๋Š”๋ฐ ์ž๋™ํ™”๊ฐ€ ๋ถˆ์•ˆ์ •ํ•จRelay์— ๋ฐ˜๋ณต ์ž‘์—…์„ ์–ต์ง€๋กœ ํƒœ์›€์ •๊ธฐ ์ž‘์—…์„ API ๊ฒฝ๋กœ๋กœ ๋ถ„๋ฆฌ
๊ถŒํ•œ์ด ๊ณผํ•˜๊ฒŒ ์—ด๋ฆผ์ฒ˜์Œ๋ถ€ํ„ฐ ์“ฐ๊ธฐ ๊ถŒํ•œ๊นŒ์ง€ ํ—ˆ์šฉread-only๋กœ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์Šน์ธ์ œ ์ ์šฉ

๋„์ž… ์šฐ์„ ์ˆœ์œ„ (๋ˆ„๊ฐ€/๋ฌด์—‡/์ˆœ์„œ)

  1. ์šด์˜ ๋‹ด๋‹น์ž: ํŒ€ ๊ธฐ๋ณธ๊ฐ’์„ โ€œ๋ฐ˜๋ณต ์—…๋ฌด๋Š” Gmail API, UI ํ™•์ธ์€ Relayโ€๋กœ ๋ฌธ์„œํ™”ํ•œ๋‹ค.
  2. ์ž๋™ํ™” ๋‹ด๋‹น์ž: gmail.readonly ๊ธฐ์ค€์œผ๋กœ ์ฒซ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ , allowlist ์กฐ๊ฑด์„ ๋จผ์ € ๊ณ ์ •ํ•œ๋‹ค.
  3. ์‹ค์‚ฌ์šฉ์ž: ์˜์‹ฌ ๋ฉ”์ผยท๋ฏผ๊ฐ ๋ฉ”์ผ์€ ์ž๋™ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  Relay๋กœ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•˜๋Š” ์Šต๊ด€์„ ๋‘”๋‹ค.

์ ์šฉ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • Gmail UI ํ™•์ธ๊ณผ ๋ฐ˜๋ณต ์ž๋™ํ™” ๊ฒฝ๋กœ๋ฅผ ๋ถ„๋ฆฌํ–ˆ๋‹ค.
  • ์ •๊ธฐ ์ ๊ฒ€/๋ถ„๋ฅ˜๋Š” Gmail API ์ค‘์‹ฌ์œผ๋กœ ์„ค๊ณ„ํ–ˆ๋‹ค.
  • Gmail ๊ถŒํ•œ์€ read-only์—์„œ ์‹œ์ž‘ํ–ˆ๋‹ค.
  • ์‚ญ์ œ/์™ธ๋ถ€ ๋ฐœ์†ก/๊ถŒํ•œ ๋ณ€๊ฒฝ์€ ์Šน์ธ ํ๋ฅผ ๊ฑฐ์น˜๊ฒŒ ํ–ˆ๋‹ค.
  • ์‹ ๋ขฐ ๋ฐœ์‹ ์ž/๋„๋ฉ”์ธ allowlist๋ฅผ ์ •์˜ํ–ˆ๋‹ค.
  • ์˜์‹ฌ ๋ฉ”์ผ์€ Relay๋กœ ์ตœ์ข… ํ™•์ธํ•˜๋„๋ก ๋‚จ๊ฒจ ๋’€๋‹ค.

๋‹ค์Œ ์ฝ๊ธฐ

AI ์ƒ์„ฑ ๊ฒฐ๊ณผ๋ฌผ์„ ํฌํ•จํ•œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. ๋ฐฐํฌ ์ „ OAuth ๋ฒ”์œ„, ํ† ํฐ ์ €์žฅ ์œ„์น˜, ์Šน์ธ ์ •์ฑ…์€ ๊ฐ ์šด์˜ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์ตœ์ข… ํ™•์ธํ•˜์„ธ์š”.