Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
go-gmail-drafts
Search
Yoshiki Nakagawa
January 22, 2016
Technology
0
780
go-gmail-drafts
Yoshiki Nakagawa
January 22, 2016
Tweet
Share
More Decks by Yoshiki Nakagawa
See All by Yoshiki Nakagawa
Amazon Bedrock で作る未来の開発サイクルと オペレーション戦略 / AWS Summit Japan 2025
yyoshiki41
0
980
MCP Documentation Server @AI Coding Meetup #1
yyoshiki41
2
3.9k
Go API クライアントの実装 〜Go Conference に載せれなかったTIPS〜
yyoshiki41
0
710
マルチテナントのアプリケーション実装 〜実践編〜
yyoshiki41
5
2.9k
Canary Deployments
yyoshiki41
0
550
Tests API
yyoshiki41
0
64
Graceful Upgrade for Go App
yyoshiki41
0
120
Other Decks in Technology
See All in Technology
書籍執筆での生成AIの活用
sat
PRO
1
210
AI開発をスケールさせるデータ中心の仕組みづくり
kzykmyzw
0
140
AWS Devops Agent ~ 自動調査とSlack統合をやってみた! ~
kubomasataka
2
190
習慣とAIと環境 — 技術探求を続ける3つの鍵
azukiazusa1
3
770
Data Intelligence on Lakehouse Paradigm
scotthsieh825
0
200
OCI技術資料 : OS管理ハブ 概要
ocise
2
4.2k
Amazon Bedrock AgentCore EvaluationsでAIエージェントを評価してみよう!
yuu551
0
160
さくらのクラウドでのシークレット管理を考える/tamachi.sre#2
fujiwara3
1
220
持続可能な開発のためのミニマリズム
sansantech
PRO
4
570
2026/01/16_実体験から学ぶ 2025年の失敗と対策_Progate Bar
teba_eleven
1
220
Web Intelligence and Visual Media Analytics
weblyzard
PRO
1
6.8k
AI Agent Agentic Workflow の可観測性 / Observability of AI Agent Agentic Workflow
yuzujoe
7
2.3k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.5k
WENDY [Excerpt]
tessaabrams
9
35k
Navigating Weather and Climate Data
rabernat
0
74
Game over? The fight for quality and originality in the time of robots
wayneb77
1
88
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
150
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
What's in a price? How to price your products and services
michaelherold
247
13k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
140
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
300
The Curious Case for Waylosing
cassininazir
0
220
Transcript
ΦʔϓϯιʔεϥΠϒϥϦݚڀձ #3 Jan / 22 / 2016 Yoshiki Nakagawa eureka,
Inc.
AboutMe @yyoshiki41 Yoshiki Nakagawa Infrastructure Engineer, pairs Division Tech •
Golang • Middleware, RDBMS • AWS
Google APIs Client Library for Go GitHub : https://github.com/google/google-api-go-client/ Enable
to access google APIs - Gmail API - BigQuery API - Calendar API etc...
yyoshiki41/go-gmail-drafts GitHub : https://github.com/yyoshiki41/go-gmail-drafts Create a new draft using the
Gmail API.
Why not Google Apps Script ? Apps Script is not
enough... Can't create drafts. (only get drafts) So use Google APIs Client Library ! Other languages libraries : https://developers.google.com/discovery/libraries All Libraries are open-sourced !
Preparation ̍. Google Developer Console ͔Βɺ৽نϓϩδΣΫτΛ࡞ ͢Δɻ ̎. ϓϩδΣΫτͷ Gmail
API Λ༗ޮʹ͢Δɻ
̏. ೝূใΛઃఆ͢Δɻ ̐. ඞཁͳೝূใΛΫϦοΫɻ
̑. OAuth ΫϥΠΞϯτͷઃఆɻ OAuthೝূΛྃͤ͞ɺJSONϑΝΠϧΛμϯϩʔυ͠·͢ɻ ޙͰ͍·͢ʂ
How to ̍. go get $ go get github.com/yyoshiki41/go-gmail-drafts $
cd $GOPATH/src/github.com/yyoshiki41/go-gmail-drafts ̎. μϯϩʔυͨ͠jsonϑΝΠϧΛઃஔɻ $ mv ~/Downloads/clientid.json config/clientsecret.json
̏. ॳճ࣮ߦ࣌OAuth௨͠ɺΞΫηετʔΫϯΛऔಘ͢Δɻ $ go run savetoken/main.go ϒϥβ͕ࣗಈͰ։͖ɺgoogleΞΧϯτͷೝূΛ͠·͢ɻ ࣍ʹɺGmailͰͷΞΫγϣϯΛڐՄ͠·͢ɻ
̑ɽςΩετϘοΫεʹදࣔ͞ΕͨcodeΛίϐʔ͢Δɻ λʔϛφϧʹͬͯɺtokenϑΝΠϧΛੜɻ ίϐʔͨ͠ίʔυΛషΓ͚Δɻ
̑. Լॻ͖ςϯϓϨΛ࡞ɻ { "to": "
[email protected]
", "subject": "Daily Reports", "message": "Hello!\nThis
is a draft." }
̒. go runͰ࣮ߦɻ $ go run main.go
ऴΘΓʹ go buildͰόΠφϦԽͯ͠ɺ cronʹొ͢ΕຖԼॻ͖࡞ʹ͑·͢ʂ