morikomorou’s blog

自分が学んだことなどの備忘録的なやつ

【python】Googleスプレッドシートを操作するための事前準備


今回はpythonでスプレッドシートを扱うための各種設定を行っていきます。

はじめに

プログラムからのデータの保存先はDBとかを使うことが一般的かと思いますが、
Excelやスプレッドシートに保存することで、プログラムとかよくわからない方でも簡単に値が確認できるのでそういう需要もあるのかなと思います。
なので今回は、pythonからスプレッドシートを操作する方法について勉強したのでまとめていきたいと思います。
いろいろやり方があるようですが、私としては今回紹介する方法が一番簡単で使い勝手がいいと思いました。

今回はスプレッドシートを操作するための前準備が少々めんどくさいのでその説明のみになります。
スプレッドシートの操作については以下の記事でやってます。




前準備まとめ

pythonとスプレッドシートを連携させるために以下の前準備が必要です。

  1. GoogleCloudPlatformのプロジェクト作成
  2. Google Drive API, Google Sheets APIの有効化
  3. OAuth 同意画面の設定
  4. 認証情報の作成
  5. (python) gspreadのインストール

順番にやっていきましょう。

GoogleCloudPlatformのプロジェクト作成

Googleアカウントを新規作成(なければ)した後に、以下にアクセスします

Google Cloud Platform



まずは以下のドロップダウンリストをクリックしてプロジェクトの新規作成を行います。



新しいプロジェクトを押します。



名前は何でもいいので適当にきめちゃって登録します。



完了したら最初に押したドロップダウンリストのところが作成したプロジェクト名に変わっていればOKです。


Google Drive API, Google Sheets APIの有効化

google drive上のスプレッドシートをいじるので、上記2つのAPIを有効化する必要があります。

APIとサービスの有効化をクリックするとAPIの検索画面に移ります。





この検索欄にGoogle Drive APIと打つと検索結果にGoogle Drive APIが出てくると思います。



Google Drive APIを選んで有効にするをクリックして有効化します。



Google Sheets APIも同様の手順で有効化します。

※注意※
Google Drive APIとGoogle Sheets APIはどちらも基本無料で使えますが、使用量上限が設定されてます。
使用料上限を超えても課金はされませんが、上限を上げたい場合は課金が必要になってきます。
以下に詳しく記載されています。

使用制限  |  Google Drive  |  Google for Developers
使用量上限  |  Google Sheets  |  Google for Developers

基本的に無料枠で全然大丈夫かと思いますが、1分当たり何回読み込み、書き込み等のリクエストを行うかに制限がかかってます。
1ユーザ当たり60回/分なので1セルずつ毎回読み込み、書き込みとかやっちゃうと上限に引っかかるかもしれません。
1回のリクエストで一括で読み込んだり等の工夫をすればよほど問題ないと思います。




OAuth 同意画面の設定

ダッシュボードからOAuth同意画面に移ります。
APIを使うために認証が必要ですが、そのための登録です。



User Typeは自分で使うようなら外部でいいと思いますので外部で作成を押します。



アプリ情報の登録画面に移るので、アプリ名、ユーザサポートメール、デベロッパーのメールアドレスを記入して保存して次へを押します。



アプリ名は適当に決めてOKです。メールアドレスは自分のものを入力します。

次にスコープの画面に移りますが、なにも設定せず、保存して次へでOKです。



テストユーザーの画面に移ります。ADD USERをクリックしてユーザ登録します。



ユーザ登録画面で、自分のメールアドレスを入れて追加をクリックします。
テストユーザーの登録画面で自分のユーザ情報が追加されてるのを確認して保存して次へを押します。



概要のページに移るので、入力した情報に誤りがなければ一番下のダッシュボードに戻るをクリックして戻ります。

認証情報の作成

APIを使うための認証情報を作成していきます。
ダッシュボードの認証情報をクリックします。



認証情報のページに移ったら、認証情報を作成を押します。



OAuthクライアントIDを選択しましょう



OAuthクライアントIDの作成画面に移ったら、アプリケーションの種類を選択します。
デスクトップアプリを選んで作成を押します。



OAuthクライアントが作成出来たら以下のようなポップアップが出るのでOKで閉じます。



認証情報のページのOAuth 2.0クライアントIDの欄に、先ほど作成したクライアントIDの情報が出てくるので、右端のダウンロードボタンをクリックして、認証情報のダウンロードを行います。



JSONでダウンロードをクリックするとclient_secret_***.apps.googleusercontent.com.jsonという名前のファイルがダウンロードされます。

ファイル名は簡単にclient_secret.jsonに変えて、pythonの実行ファイルと同じ階層のフォルダに入れておきます。
これでGoogleCloudPlatform上での設定は終わりになります。

gspreadのインストール

最後にpythonのライブラリをインストールしておきます。
コマンドラインにて以下の呪文でインストールできます。

pip install gspread

長かったですが、これにて事前準備は完了です。

おわりに

次回はスプレッドシートを操作するテストプログラムを作ってみます。