[2020年9月版] PythonでGmail APIを利用するまでの手順を解説

今回はPythonでGmail APIを利用するまでの手順を解説します。
Gmail API を利用するまでに、APIを有効化したり、認証情報を作成したり、ライブラリをインストールしたりとやることが多いので、備忘録として書きました。
# Google Cloud PlatformでGmail APIを有効化
　Gmail APIを利用するにはGoogle Cloud Platform（GCP）でAPIを有効化する必要があります。GCPにはこちら（ https://console.cloud.google.com/ ）からアクセスしてください。

初めてアクセスすると下記の画面が出てくると思うので利用規約に同意し、「同意して実行」をクリックしてください。
![Gmail API1 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/e4187430-dfcf-6eff-171c-678cb9c33ce3.png)

「プロジェクトの選択」から
![Gmail API2 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/bea62cd0-66b0-f235-64cc-cdc8c30c9c1e.png)


「新しいプロジェクト」をクリックします。
![Gmail API3 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/fdea3061-5b72-1ee3-30c7-358e933341b7.png)

プロジェクト名を設定する必要があるので、分かりやすい名前をつけましょう。入力後、「作成」をクリック。
![Gmail API4 (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/a0143fc9-0646-364f-4342-2667009860b8.png)

これでプロジェクトが作成されました。

次にGmail APIを有効化していきます。検索窓に「gmail」と打ってみるとGmail APIと表示されるのでクリック。
![Gmail API5 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/fe0d6e57-3927-149c-1422-8d5e599416ff.png)

プロジェクトの選択画面が出てきますので、先ほど作成したプロジェクトをクリック。
![Gmail API6 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/a4622c4b-49ce-af73-25aa-cf5380b963a6.png)

Gmail APIの「有効にする」をクリック。
![Gmail API7 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/11f7c0ad-d80b-0140-adf1-e28a6dd6d2a6.png)

これでGmail APIが有効になりました。

# 認証情報、OAuth同意画面の作成
　次に、このプログラムを使うユーザーからGmailの利用許可をもらうための設定をします。もし、ユーザーから許可をとらずにプログラム単体でメールを勝手に送信できたら悪用される可能性があります。なので、プログラムを実行したときにユーザーから許可をもらう設定が必要になります。

下記の画面が出ていたら、「認証情報を作成」をクリックします。
![Gmail API8 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/4f0e7d93-f08a-8a35-8529-f78426d912c4.png)

「プロジェクトへの認証情報の追加」画面で、下図のように設定します。今回はPythonスクリプトからAPIを利用するので、APIを呼び出す場所は「その他のUI（Windows、CLIツールなど）」を選択しました。また、ユーザーの受信メールの情報を取得したいので、アクセスしたいデータの種類は「ユーザーデータ」を選択しました。設定が出来たら「必要な認証情報」をクリックします。
![Gmail API9 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/6c2d5293-d09f-22d2-381f-d1f32bb79428.png)

ダイアログが出てくるので、「同意画面を設定」をクリックします。
![Gmail API10 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/dd4beefd-e927-d6a6-95c6-def8ff898275.png)

「サイドバーの「OAuth同意画面」タブを選択すると、下記の画面が出てきますので、「外部」を選択し、「作成」をクリック
![Gmail API11 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/d8a5ede8-79ff-3db6-5fc0-23af79eb5f24.png)

「アプリケーション名」に適当な名前を設定し、保存します。
![Gmail API12 (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/c8293045-0639-db86-6039-04547fee58d2.png)

ここまで出来ましたら、認証情報の作成画面に戻ります。

# OAuthクライアントIDの作成
　「認証情報」タブを選択し「認証情報を作成」をクリックします。表示されるメニューから「OAuthクライアントID」を選択。
![Gmail API14 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/598173e8-ab91-a40d-6882-854a97bf210a.png)


「アプリケーションの種類」で「デスクトップアプリ」を選択し、名前に適当なものを付ける。
出来たら「作成」をクリック。
![Gmail API15 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/44c744e4-4fac-3e61-43a3-b216939c180d.png)

作成完了のダイアログが表示されるので「OK」をクリック
![Gmail API16 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/0b1309f3-6792-8840-2bc7-a54f2910b146.png)

下記の画面に遷移したら、認証情報のJSONファイルをダウンロードします。
![Gmail16 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/a7776ae7-ba15-a3cf-bca6-0342c9e13c0f.png)



# Googleクライアントライブラリをインストールする
 PythonでGmail APIを利用するにあたって必要なライブラリをpipでインストールしておきましょう。pipとはPythonのパッケージ管理ツールで外部ライブラリを簡単に読み込んで使用できます。Windowsの場合はコマンドプロンプト、Macの場合はターミナルを開いて下記コマンドを実行します。

```
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
```
これで、Gmail APIを利用する準備が整いました。

# まとめ
PythonでGmail APIを利用するまでの手順を解説しました。
Gmail APIを利用するとメールの送信を自動化することができるので、定期的にメールを送信する作業がある方などは参考にしてください。