pythonでGoogle Spread Sheetをいじれるようにする

やあ

Unreal Engineでゲームを作ってるときに、Google Spread Sheetを編集するたびにダウンロードして、それをエディタにインポートするっていう地味にめんどくさい作業をすることが多くて、自動化したいなーと思ってたからやることにしたよ。
今回はその準備だ!

準備 (Google Cloud Console)

Google Cloud Consoleを開く

初めて開いた場合はこんな画面になるので利用規約に同意して続行。

プロジェクトを作成する





鈴マークからプロジェクトを選択。
または、左上にあるドロップボックスから選択。

サービスアカウントを作成する

ずっと画面の左側に出てるメニューからIAMと管理をクリック。

▼ピン止めを外しちゃった場合


メニューをスクロール。
その他のプロダクトっていうのがあるからそれを開いてIAMと管理をピン止めしなおしといてね。

IAMと管理に移動したら、サービスアカウントをクリック。

上のほうに出てくるサービスアカウントを作成をクリック。

名前を入れて完了。

サービスアカウントの鍵を作る

さっき作ったサービスアカウントをクリックして、アカウントの管理画面に移動するよ。

キーのタブに移動。
鍵を追加するよ!

新しい鍵を作成!

JSONで作成!

作成したらprojectname-00000.jsonがダウンロードされるはずだよ。
ダウンロードしたファイルの名前をservice_account.jsonに変更!

APIの追加

画面左上のナビゲーションメニューをクリック。

APIとサービスをクリック。

APIとサービスの有効化をクリック。

APIライブラリの検索欄にsheet apiと入力して検索!


有効化!
有効化が完了するまでちょっとだけ待つ。

有効化できたら自動的にこんな画面が表示されるよ。

もう一度、APIライブラリに行ってね。
検索欄にdrive apiと入力して検索!

なんかいっぱい出てくるけど一番上のやつをクリック!

有効化!

ちょっとだけ待つ!

やる

まずCtrl+Rcmdでコマンドコンソールを開きます。
いろいろpip installします。

pip install gspread

インストールしてる最中に
IAMと管理画面からメールアドレスをコピー!

pythonからアクセスしたいGoogle Spread Sheetを開く
右上の共有をクリック!

コピーしたメールアドレスを貼り付けて共有!

import gspread
service_account_json = "service_account.json"
gc = gspread.service_account(service_account_json)
print(gc.openall())

これでいじれるようになった!

次は、Google Spread SheetをダウンロードしてからUnreal Engineにインポートするまでを自動化するよ。

pto8913.hatenablog.com