メインコンテンツへスキップ
見出し画像

[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スプレッドシートにアクセスするための設定についてまとめました。
    手順が多く、めんどくさく感じてしまいますが、ひとつずつ順番に進めていくと、流れが理解できます。


     
     
    ノンプロ研にて、Python、GAS(Google Apps Script)、技術ライティング勉強中です。 東北地方の片隅で、オンラインアシスタントとして、リモートワークしています。

    あなたへのおすすめ