10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Gmail API for Goで、下書き生成ツールを作りました。

Posted at

概要

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) から、新規プロジェクトを作成する。
57a8fca4-eb8d-96e8-95f0-3a337429579e.png

2. プロジェクトの [Gmail API] (https://console.developers.google.com/apis/library?project=daily-report-1192) を有効にする。
3acdd028-8826-e0a0-5529-58ef18938efe.png

3. 認証情報を設定する。
72f7b4ca-721a-0c75-857b-b193dbe231d8.png

必要な認証情報をクリック。
b20701f0-6c26-0285-0168-a3f7bc565504.png

OAuth クライアントの設定して、JSONファイルをダウンロード。
後で使います!
b0e7a56d-abe1-1361-0af9-828e1d0594d7.png

使い方

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アカウントの認証を通します。

次に、Gmailでのアクションを許可します。
09fee2f6-3f16-69c8-f365-015ae264bbf0.png

テキストボックスに表示されたcodeをコピーする。
0a5b000f-ab05-e6c8-5aa1-6c5ce748becf.png

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

スクリーンショット 2016-01-16 21.25.48.png

終わりに

go buildでバイナリ化して、cron等に登録すれば毎日下書き作成等に使えます!

10
10
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?