python で Google のスプレッドシートを操作する際の手順をまとめてみました。
Google Cloud Platform の設定
Google アカウントにログインした状態で Google Cloud Platform のリンクを開きます。
console.cloud.google.com
プロジェクト作成
リンク先を開くと以下の画面が表示されるので、画面上のメニューにある「プロジェクトの選択」をクリックする。
その後、「新しいプロジェクト」をクリックする。
プロジェクト名を入力して「作成」ボタンをクリックします。
APIの選択
Google Drive API
「APIとサービス」を選択して「ライブラリ」をクリックします。
「Google Drive」と入力して検索すると「Google Drive API」というAPIが候補に上がるのでそれをクリックします。
クリック後に「有効にする」をクリックします。
Google Sheets API
今度は「Google Sheets」と入力し、候補に出てきた「Google Sheets API」をクリックします。
認証情報
左のメニューバーより「APIとサービス」から「認証情報」をクリックします。
「認証情報を作成」をクリックします。
サービスアカウントを作成します。
サービスアカウントが作成されていれば以下のようにレコードが追加されます。
最終的にjson形式のファイルをダウンロードします。
ダウンロードしたらjsonファイルに記載されている「client_email」の情報を控えます。
(スプレッドシートの共有に必要なため)
スプレッドシートの設定
pythonで操作したいスプレッドシート を開いて、右上の「共有」をクリックします。
「ユーザー」の部分に、先ほどコピーした「"client_email"」の値を貼り付けます。
python
パッケージインストール
pip コマンドで2つのパッケージをインストールします。
gspread
gspread は Pythonでスプレッドシートを操作することができるライブラリです。
pip install gspread
oauth2client
oauth2client は Google APIs の認証周りをお世話してくれる Python のライブラリです。
pip install oauth2client
サンプルコード
以下サンプルコードです。
import gspread from oauth2client.service_account import ServiceAccountCredentials scope = [ 'https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive' ] # jsonファイルを指定 credentials = ServiceAccountCredentials.from_json_keyfile_name( 'Google Cloud Platform で取得したjsonファイル名', scope ) # 認証 gc = gspread.authorize(credentials) # スプレッドシート指定 target = gc.open('test') # シート名指定 sheet = target.worksheet('シート1') # 文字列を書き込み target_sheet.update_acell('A1', 'test-sample')