Python日記

【GAS】PythonでGmail APIを使って、メール内容を取得する流れ【認証情報を取得編】

2021年3月29日

GAS GmailAPIを使って認証情報を取得の巻

Gmailは、プライベートだけでなく、ビジネスでも多くの企業が使っているので、

何かと、Gmailを一つデータベースとして情報を取得したいと思うときって多々ありますよね。

お悩みさん

そうそう、PythonでGmailの情報を取得する方法ってないの〜?!

(Google App Scriptは基本的にJavaScriptの言語が使われることが多いですが、)

PythonとGoogleサービスを連携するためには、Google API Platformを使う必要があります。

今回はGoogle APIを使って、PythonとGmailの連携方法(前編)をお伝えしていきます。

クリワン

この記事はこんな方におすすめです!

  • ノンプログラマーだけど、GASを使えるようになりたい
  • マーケティング業務でデータ解析をしていきたい
  • ITスキルを身につけて、年収をアップさせたい

この記事で学べること

  1. Google Cloud Platformから、APIの取得
  2. APIの認証方法
  3. Gmail API の設定の流れ

環境

OSMac 10.15.4
Pythonpython 3.9
仮想環境Poetry
Homebrew8.0.19 Homebrew

それでは、さっそくGoogle Cloud PlatformでAPI情報を取得していきます。

APIとは、Application Programming Interfaceの略称で、
あるサービスを連携するための仕組みだと考えると分かりやすいよ

プロジェクトの作成

まずは、上記のURLから、プロジェクトを立ち上げます。

1→2で、新しいプロジェクトを開始します。

Google Cloud Platform トップページ 新しいプロジェクト

プロジェクト名を任意のものを自由に決めてOKです。

場所については、企業のGsuiteを使っている場合は、

組織名がでてきますが、個人で使用している場合は、組織なしで問題ありません。

Google Cloud Platform  新しいプロジェクト プロジェクト名 場所

すでにプロジェクトがある場合

ちなみに、すでにプロジェクトを作成していて複数ある場合は、

プロジェクトを選択して、開くをクリックしてください。

Google Cloud Platform 新しいプロジェクト プロジェクトの選択 開く

Gmailの有効化

トップページのAPIライブラリに戻ります。

今回はGmailを連携させるので、Gmailのアイコンを選びます。(出てこなければ検索も可能です)

Google Cloud Platform トップページ APIライブラリ Gmail API

有効にするを押して、有効化します。

Google Cloud Platform APIライブラリ Gmail API  有効にする

これで、プロジェクトのGmail APIが有効になりました

OAuth認証の設定

Gmail APIをPythonで使うには、認証情報を設定、取得する必要があります。

OAuthを設定することで、ID、パスワードを設定せずに、アプリケーションを認証することができるよ

まずは鍵マーク→同意画面を構成へ進みます。

Google Cloud Platform Gmail API  認証情報 同意画面を構成

企業のGsuiteの場合、組織があれば内部を選択できますが、

個人で使用している場合は、外部で問題ありません。

Google Cloud Platform Gmail API  認証情報 OAuth同意画面 UserTyepe 外部

ここでは権限をせずに、保存して次へ進みます。

Google Cloud Platform Gmail API  認証情報 OAuth同意画面 アプリ登録の編集 保存して次へ

こちらも保存して次へで進みます。

Google Cloud Platform Gmail API  認証情報 OAuth同意画面 アプリ登録の編集 テストユーザー 保存して次へ

これでOAuth同意画面の設定が完了しました。

Google Cloud Platform Gmail API  認証情報 OAuth同意画面 アプリ登録の編集 概要 

Gmail認証情報を取得

ここからは、Pythonで使うjsonファイルをダウンロードするまでの流れを解説します。

このjsonファイルは、PythonからGoogle APIを連携させるのに必要なファイルです。

認証情報の作成

認証情報を作成を選択します。

Google Cloud Platform Gmail API  認証情報 認証情報を作成 

今回はOAuthクライアントIDを選択します。

Google Cloud Platform Gmail API  認証情報 OAuthクライアントID

アプリケーションの種類は、今回はウェブアプリケーションを選択。

名前は任意のものを自由に決めて問題ありません。

Google Cloud Platform Gmail API  認証情報 OAuthクライアントIDの作成 作成
Google Cloud Platform Gmail API  認証情報 OAuthクライアントID OAuthクライアントを作成しました

これでOAuthクライアントが発行されました。

認証情報のjsonファイルを取得

同じく鍵マークのページから、jsonファイルをダウンロードします。

Google Cloud Platform Gmail API  認証情報 OAuthクライアントID OAuth2.0クライアントID ダウンロード

ダウンロードすると、xxxxxxxxx.jsonというフォルダを取得できます。

中身は以下のようになっているはずです。

{"web":{"client_id":"xxxxxxxxxxxxxxxxx","project_id":"xxxxxxxxxxxxxxxxx","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"xxxxxxxxxxxxxxxxx"}}

このjsonファイルが取得できれば、Google Cloud Platformでの作業はひとまず完了です。

まとめ

この記事で学べんだこと

  1. Google Cloud Platformから、APIの取得
  2. APIの認証方法
  3. Gmail API の設定の流れ

Pythonを使って、Google APIの中のGmailを使う方法の前編として、

Google Cloud Platformで認証情報を取得するまでの流れを解説しました。

次回は、実際に認証情報の使いながら、PythonでGmailの情報を取得していきます。

ぜひ、以下の記事も引き続き参考にしてください。

-Python日記
-,