概要
Google APIs Client Library for Go を使って、
Gmail APIの下書き作成をしてくれるtoolを作成しました。
[go-gmail-drafts] (https://github.com/yyoshiki41/go-gmail-drafts)
下準備
1. [Google Developer Console] (https://console.developers.google.com/project) から、新規プロジェクトを作成する。
2. プロジェクトの [Gmail API] (https://console.developers.google.com/apis/library?project=daily-report-1192) を有効にする。
OAuth クライアントの設定して、JSONファイルをダウンロード。
後で使います!
使い方
1. go get
$ go get github.com/yyoshiki41/go-gmail-drafts
$ cd $GOPATH/src/github.com/yyoshiki41/go-gmail-drafts
2. 先ほどダウンロードしたjsonファイルを config/client_secret.json
として配置。
$ mv ~/Downloads/client_id.json config/client_secret.json
3. 初回実行時はOAuth通し、アクセストークンを取得する。
$ go run savetoken/main.go
ブラウザが自動で開きますので、googleアカウントの認証を通します。
4. ターミナルに戻って、tokenファイルを生成。
上でコピーしたコードを貼り付ける。
$ go run savetoken/main.go
URL: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=hogehoge.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.compose+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.modify&state=state-token
Type the authorization code.
### コードをペーストする ###
Saving credential file to: .credentials/gmail_token.json
.credentials/gmail_token.json
ファイルが生成されます。
5. 下書きテンプレを作成。
{
"to": "xxx@gmail.com",
"subject": "Daily Reports",
"message": "Hello!\nThis is a draft."
}
6. go run
で実行。
$ go run main.go
終わりに
go build
でバイナリ化して、cron等に登録すれば毎日下書き作成等に使えます!