0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python初心者】Googleスプシ連携のモジュールたちを整理してみた!パート3

Posted at

はじめに

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)

もし辞書以外のデータで数値とかを渡すとエラーになります

辞書データって分かっていたら、間違ってリストを作成したりすることもなくなる!ということが分かりました!

まとめ

これでモジュールのまとめは終わりです!
こんなことが出来るのかって勉強になりました。
何度も何度も繰り返さなければ定着しないと思うので、私の自分がまとめたのを見返して整理していきたいと思います!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?