開発等でよく使用する「Google API」を認可画面なしで実行するには、サービスアカウント認証が有用です。
サービスアカウント認証をするには、Google Cloud Platform(以下、GCP)にてプロジェクトを作成し、サービスアカウントファイルを作成します。そのサービスアカウントに対して、Googleの管理コンソールでAPIを許可する必要があります。
今回は、サービスアカウントファイルの作成~設定までを行いAPIを使えるようにするまでの手順をご紹介します。
【目次】
・はじめに
はじめに
【注意事項】
- 本手順では、Gmail APIの有効化についてご紹介しています。Gmail API以外を有効にしたい場合は、Gmail APIの箇所を必要に応じて読み替えてください。
- 記載されている情報と画面のレイアウト等に差異がある可能性があります。
【準備するもの】
- GCPプロジェクトへアクセスでき、以下権限を有しているアカウント
- プロジェクトのオーナー
- Google Workspace(以下、GWS)特権管理者アカウント
Google APIの有効化
サービスアカウントの作成前に、開発ツールが使用するGoogle APIをGCP側で有効にしておく必要があります。本手順では、開発ツールが使用するGoogle APIをGCP側で有効化をする手順を記載しています。
1. GCP管理コンソールを開く
URL:https://console.cloud.google.com/
2. プロジェクトを選択する
※新規作成をする場合の手順はこちら
※プロジェクトの選択は、適宜必要なプロジェクトへ切り替えてください
3. APIとサービスのページを開く
4. 指定のAPIを検索し、有効化する
※ここではGmail APIを例として挙げていますので、必要なAPIを追加してください。
サービスアカウント作成・ダウンロード
サービスアカウント認証は、画面上での認証を行わず、認証ファイルを通してGoogle APIを実行します。そのためには、GCPにてサービスアカウントファイルをダウンロードし、使用するAPIを実行するGWSテナントへ登録を行う必要があります。
本手順では、サービスアカウントの作成とファイルのダウンロードを行う手順を記載しています。
1. GCP管理コンソールを開く
URL:https://console.cloud.google.com/
2. プロジェクトを選択する
※新規作成をする場合の手順はこちら
※プロジェクトの選択は、適宜必要なプロジェクトへ切り替えてください
3. IAMと管理のページ開き、サービスアカウントのページを開く
4. サービスアカウントの作成を開く
5. 以下の入力項目を入力し、「作成して続行」を選択
6. 何も選択せず「続行」を選択
7. 何も選択せず「完了」を選択
8. サービスアカウント一覧に作成したものが表示されているか確認
9. 作成したサービスアカウントの「操作」を選択し、「鍵を管理」を選択
10. 「鍵を追加」選択し、「新しい鍵を作成」を選択する
11. 「キーのタイプ」が「JSON」になっていることを確認し「作成」を選択
12. ファイルエクスプローラーが開くので、任意の場所、ファイル名で保存
13. ダウンロードされていることを確認
※注意点
ダウンロードしたファイルは厳重に保管してください。
流失してしまった場合、意図しない不正な操作が行われてしまい、
情報流出の原因となりえますので、ご注意ください。
ドメインへのAPIスコープの登録
作成したサービスアカウントファイルを用いてGoogle APIを実行するには、GWS管理コンソールから、サービスアカウントに許可するAPIを登録しておく必要があります。
本手順では、サービスアカウントに実行を許可するAPIの登録方法を記載しています。
1. サービスアカウントのクライアントIDをメモしておく
確認方法 ①:GCPのサービスアカウント一覧で確認
確認方法 ②:サービスアカウントファイルの「client_id」の値を確認
2. GWS特権管理者アカウントでログインし、管理コンソールを開く
URL:https://admin.google.com/
3. 左メニューで「セキュリティ>概要」を選択
4. 画面内最下段の「APIの制御」を選択
5. 画面内最下段の「ドメイン全体の委任」の「ドメイン全体の委任を管理」を選択
6. 「新しく追加」を選択
7. 以下を入力し、「承認」を選択
クライアントID |
1. で取得しておいたクライアントID |
OAuth スコープ |
以下をそのままコピー&ペースト※ https://www.googleapis.com/auth/gmail.send |
※OAuthスコープについては、使用するAPIによって変わります。
こちらを参照して、使用するAPIのスコープを追加してください。
複数ある場合は「,(カンマ)」区切りで記載可能です。
8. 一覧画面から登録したものを選択し、登録できているか確認
以上の手順でサービスアカウントの作成・設定手順は完了です。
作成したサービスアカウントを使用して、APIを実行することが可能となります。