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
770
go-gmail-drafts
Yoshiki Nakagawa
January 22, 2016
Tweet
Share
More Decks by Yoshiki Nakagawa
See All by Yoshiki Nakagawa
MCP Documentation Server @AI Coding Meetup #1
yyoshiki41
2
3.1k
Go API クライアントの実装 〜Go Conference に載せれなかったTIPS〜
yyoshiki41
0
650
マルチテナントのアプリケーション実装 〜実践編〜
yyoshiki41
5
2.4k
Canary Deployments
yyoshiki41
0
500
Tests API
yyoshiki41
0
51
Graceful Upgrade for Go App
yyoshiki41
0
94
Other Decks in Technology
See All in Technology
非root化Androidスマホでも動く仮想マシンアプリを試してみた
arkw
0
130
計測による継続的なCI/CDの改善
sansantech
PRO
7
2k
インフラからSREへ
mirakui
20
7.6k
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2025年版)
infiniteloop_inc
14
46k
Cursorをチョッパヤインタビューライターにチューニングする方法 / how to tuning cursor for interview write
shuzon
2
270
encoding/json v2を予習しよう!
yuyu_hf
PRO
1
220
SaaS公式MCPサーバーをリリースして得た学び
kawamataryo
5
1.4k
Terraform にコントリビュートしていたら Azure のコストをやらかした話 / How I Messed Up Azure Costs While Contributing to Terraform
nnstt1
1
570
Microsoft Fabric のライセンスについて
ryomaru0825
2
3.4k
PythonツールであるpygnmiをSONiCのgNMIに対して使ってみた
sonic
0
220
ITベンダーから見る内製化支援の本質/in-house-dev
slsops
1
130
20250514 1Passwordを使い倒す道場 vol.1
east_takumi
0
150
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.1k
Into the Great Unknown - MozCon
thekraken
38
1.8k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Faster Mobile Websites
deanohume
307
31k
GraphQLとの向き合い方2022年版
quramy
46
14k
Balancing Empowerment & Direction
lara
0
37
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Statistics for Hackers
jakevdp
799
220k
How to train your dragon (web standard)
notwaldorf
91
6k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
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ʹొ͢ΕຖԼॻ͖࡞ʹ͑·͢ʂ