はじめに
Python初学者のわたしが覚えるために、学んだことを整理し、理解を深めるために記事を書いています。
スプレッドシートと連携するためには、たくさんのモジュールが登場します!
「これって何をするやつ?」「なんで必要なの?」と混乱してしまっています!なので、それぞれの役割と実際の活用例と一緒に整理します!
※前回のパート1&パート2とからの続きとなります!!
⑥google.oauth2.service_account(グーグル・オーオース・ツー・サービス・アカウント)
役割:Google Cloud Platform(GCP)からダウンロードしたJSONファイルを読み込んで、プログラムがGoogleに接続する認証」オブジェクトを作る!
今回は、gspreadがGoogleにログインするための鍵を作るために使用する!
流れはこんな感じです!
JSONファイル(鍵の情報)
↓ 読み込む
google.oauth2.service_account
↓ 認証するための鍵を作る
gspread その鍵を持ってスプレッドシートへログインする
💬 私のイメージ(初心者向け)
・・・何を言っているのか難しいって感じですよね!
「Googleさん、このプログラムを使っているのは本人ですよ!
このJSONファイルで証明します!
認証できたら、gspreadに鍵を渡してスプレッドシートへ入ります!」
from google.oauth2.service_account import Credentials
import gspread
#クレッズ JSONファイルを受け取って、鍵の情報を読み込んで返す
#引数で型ヒント:文字列
def creds (json_key_name: str):
#①【認証するためのURL】
SCOPES = ["https://www.googleapis.com/auth/spreadsheets"]
#②【住所を特定する】
#_get_secret_key_path という名前のメソッドで別のファイルからメソッドを呼び出す
json_key_path = path._get_secret_key_path(file_name = json_key_name)
#③【鍵の生成】
creds =
Credentials.from_service_account_file(json_key_path, scopes=SCOPES)
#④【戻り値】
return creds
②の部分では、直接パスを書くのではなく、_get_secret_key_pathというメソッドを使って、ファイルの住所を特定するようなイメージ!
_から始まるから不思議ですが、「これは内部用です。外から使わないで〜!」です。
⑦typing(Dict)
役割:プログラムのための「メモ書き」係
型ヒントを使うためのモジュールです。この変数には**辞書(Dict)**が入る予定だよ!」と伝えてあげます!
※辞書(Dictionary)
#①型ヒントが無して関数を定義
#このuser_infoは文字列?リスト?数値?何か分かりづらい
def show_user(user_info):
#ここで["name"]だから辞書だと分かるとようやく分かる
print(user_info["name"])
#②辞書データを作る
user1_data = {"name":"えりんこ","id":1}
#③実行
show_user(user1_data)
#①型ヒントがある場合
from typing import Dict
#ここでこれは辞書だと教えてあげる!
def show_user(user_info: Dict):
#辞書だと最初から分かっている
print(f"ユーザー名は:{user_info['name']}")
#②辞書データを作る
user1_data = {"name":"えりんこ","id":1}
#③実行
show_user(user1_data)
もし辞書以外のデータで数値とかを渡すとエラーになります
辞書データって分かっていたら、間違ってリストを作成したりすることもなくなる!ということが分かりました!
まとめ
これでモジュールのまとめは終わりです!
こんなことが出来るのかって勉強になりました。
何度も何度も繰り返さなければ定着しないと思うので、私の自分がまとめたのを見返して整理していきたいと思います!