見出し画像

[Python] Googleスプレッドシートにアクセスするための設定

はじめに

今回は、PythonスクリプトからGoogleスプレッドシートにアクセスするための設定についてまとめます。

設定の手順は、下記で進めます。

1.Google Cloud Platformの設定
1-1.プロジェクトを新規作成する
1-2.作成したプロジェクトに対して、使用するAPIを有効化する
1-3.作成したプロジェクトに対して、認証情報を設定する
1-4.秘密鍵を生成する
2.使用するGoogleスプレッドシートの設定
2-1. Pythonからアクセスを行うGoogleスプレッドシートに共有権限を行う

Google Cloud Platform(GCP)とは?

GCPとは、Google Cloud Platform の略で、Googleが提供するクラウドコンピューティングサービスの総称です。GCPは従量課金制のサービスのため、一定の使用量までは無料で使用できます。

さらに、Google社内で使われているものと同じテクノロジーやインフラを利用できるので、Google検索のプラットフォーム、Youtubeの動画配信プラットフォームに加え、Googleだからこそ作ることのできるデータ解析や機械学習系のサービスなども活用できます。

https://udemy.benesse.co.jp/development/system/gcp.html

Pythonスクリプトから、Googleスプレッドシートにアクセスするための設定には、このGCPを使用します。

手順

1. Google Cloud Platformの設定

1-1. プロジェクトを新規作成する
下記のURLから、プロジェクトを新規作成します。

画面上の赤枠部分をクリックします。

「プロジェクトの選択」画面の右上にある「新しいプロジェクト」をクリックします。

「新しいプロジェクト」画面で、
①「プロジェクト名」を記入します。
②「場所」:組織に属していなければ、初期設定の「組織なし」のままで問題ありません
を設定し、③「作成」ボタンをクリックします。

プロジェクトが作成されたかを確認します。
ダッシュボード画面から赤枠部分をクリックします。

先ほど、「プロジェクト名」で設定したプロジェクトが表示されていることが確認できました。

1-2. 作成したプロジェクトに対して、使用するAPIを有効化する

使用するAPIは、Google Drive APIと、Google Sheets APIの2つ。それぞれ有効にします。

・Google Drive APIを有効にする

ダッシュボード画面から、「ライブラリ」をクリックします。

赤枠の検索窓から、「Drive」と入力し、Enterキーを押します。

赤枠の検索窓から、「Drive」と入力し、Enterキーを押します。

「有効にする」をクリックします。

有効化が完了すると、この画面が表示されます。

・Google Sheets APIを有効にする

ダッシュボード画面から、「ライブラリ」をクリックします。

赤枠の検索窓から、「Sheet」と入力し、Enterキーを押します。

「Google Sheets API」をクリックします。

「有効にする」をクリックします。

有効化が完了すると、この画面が表示されます。


次に、ダッシュボード画面から、有効にした2つのAPIが追加されているかどうかを確認します。

画面左上の①の赤枠のボタンをクリックすると、メニューが表示されます。そのメニューから②「APIとサービス」を選択し、③「ダッシュボード」を選択します。

「APIとサービス」画面にて、画面を下にスクロールしていきます。

API一覧の中に、有効化したGoogle Drive API、Google Sheets APIが表示されていることが確認できます。

1-3. 作成したプロジェクトに対して、認証情報を設定する

「APIとサービス」画面の画面左にあるメニューから、「認証情報」をクリックします。

「認証情報」画面の「+認証情報を作成」をクリックします。

メニューから、「サービスアカウント」をクリックします。

「①サービスアカウントの詳細」にて、
「サービスアカウント名」に適宜名前を入力します。入力が完了したら、「作成して続行」をクリックします。

「②このサービスアカウントにプロジェクトへのアクセスを許可する」の「ロールを選択」の右にある▼をクリックします。

「編集者」をクリックします。

①「続行」をクリックし、②「完了」をクリックします。

「認証情報」画面に表示が切り替わります。アカウント作成まで若干時間がかかる場合もあります。
1-4. 秘密鍵を生成する

「サービスアカウント」に、1-3.で作成したサービスアカウントが追加されたら、このアカウントをクリックします。

「キー」をクリックします。

キー画面で、「鍵を追加」をクリックします。

メニューから、「新しい鍵を作成」を選択します。

「キーのタイプ」にて①「JSON」をクリックし、②「作成」をクリックします。

作成したJSON形式の秘密鍵ファイルが作成され、自動的にダウンロードされます。

ダウンロードしたJSONファイルを、テキストエディタで開き、「client_email」を検索します。

client_email:"spreadsheet-note@xxxxxxxxxxx-xxxxxx.iam.gserviceaccount.com"

client_email:の後に記述されているメールアドレスをコピーしておきます。

2.使用するGoogleスプレッドシートの設定

PythonスクリプトからGoogleスプレッドシートを編集可能にするため、共有権限の設定を行います。

2-1. Pythonからアクセスを行うGoogleスプレッドシートに共有権限を行う

Pythonスクリプトで編集するGoogleスプレッドシートを開きます。

「共有」ボタンをクリックします。

1-4.秘密鍵を生成する にてダウンロードしたJSONファイルに記載されている「client_email:」の後のメールアドレスを入力します。

「送信」ボタンをクリックします。
以上で設定完了です!

まとめ

今回は、PythonスクリプトからGoogleスプレッドシートにアクセスするための設定についてまとめました。
手順が多く、めんどくさく感じてしまいますが、ひとつずつ順番に進めていくと、流れが理解できます。


この記事が気に入ったらサポートをしてみませんか?