Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

Google Sheetsは、データの管理や分析を行うための強力なコラボレーションツールです。Google Sheets APIを活用することで、データ入力、集計、レポート生成、リアルタイムのデータ同期といったタスクを自動化できます。本記事では、Google Sheets APIを連携させて業務を自動化する具体的な手順を解説します。

ステップ1:Google Sheets APIを有効化する

Google Cloud Consoleにサインイン

  • Google Cloud Consoleにアクセスします。
  • Googleアカウントでログインします。

新しいプロジェクトを作成

  • 画面左上(「Google Cloud」の横)にあるプロジェクトのプルダウンから「新しいプロジェクト」を選択します。
  • プロジェクト名を入力します(例:「Google Sheets Automation」)。
  • 「作成」をクリックします。

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

APIライブラリを開く

  • Cloud Consoleで「APIとサービス」から「ライブラリ」を選択します。

Google Sheets APIを検索して有効化

  • 検索バーに「Google Sheets API」と入力します。
  • 該当するAPIをクリックし、「有効にする」をクリックします。

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

ステップ2:API認証情報を設定する

  • 認証情報ページへ移動
    • Cloud Consoleで「APIとサービス」から「認証情報」を選択します。
  • 認証情報を作成
    • 「認証情報を作成」をクリックします。
    • プルダウンから「サービスアカウント」を選択します。

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

  • サービスアカウントの設定
    • サービスアカウントの名前を入力します。
    • 「完了」をクリックします。

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

  • サービスアカウント用のキーを生成
    • サービスアカウントの一覧から、作成したばかりのアカウントをクリックします。
    • 「キー」タブを開き、「鍵を追加」「新しい鍵を作成」を選択します。

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

  • JSON形式を選択して作成
    • キーのタイプとして「JSON」を選択し、「作成」をクリックします。
    • credentials.jsonというファイルがダウンロードされます。このファイルは厳重に保管してください

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

ステップ3:Googleスプレッドシートをサービスアカウントと共有する

Googleスプレッドシートを開く

  • 新しいスプレッドシートを作成するか、既存のものを開きます。

サービスアカウントのメールアドレスと共有

  • Cloud Consoleに戻り、作成したサービスアカウントを確認します。
  • サービスアカウントのメールアドレスをコピーします。
  • スプレッドシート右上の「共有」をクリックします。
  • コピーしたメールアドレスを貼り付け、「完了」をクリックします。

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

ステップ4:必要なPythonライブラリをインストールする

Google Sheets APIとやり取りするには、google-authおよびgoogle-api-python-clientライブラリが必要です。

  • ターミナル(コマンドプロンプト、PowerShellなど)を開きます。
  • 以下のコマンドを実行します。
pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client

これでAPIを操作するために必要なライブラリがインストールされます。

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

ステップ5:Google Sheets APIで認証する

Google Sheets API連携用のPythonスクリプトは、任意のPython環境で実行できます。ここではVisual Studio Codeを使用します。

Visual Studio Codeを開く

  • credentials.jsonファイルを保存したフォルダを開きます。
  • sheets_api.pyという名前のPythonファイルを作成し、以下のコードを挿入します。
from google.oauth2 import service_account
from googleapiclient.discovery import build
# JSONファイルから認証情報を読み込む
credentials = service_account.Credentials.from_service_account_file(
 'credentials.json', # ダウンロードしたcredentials.jsonのパス
 scopes=['https://www.googleapis.com/auth/spreadsheets']
)
# Sheets APIサービスを構築
service = build('sheets', 'v4', credentials=credentials)
print("Google Sheets API is connected!")
  • 以下のコマンドでスクリプトを実行します。

接続が正常に確立されると、「Google Sheets API is connected!」というメッセージが表示されます。

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

ステップ6:タスクを自動化する

APIを使えば、データの読み取り・書き込み・追加などの処理を自動化できます。

1. Googleスプレッドシートからデータを読み取る

スプレッドシートからデータを読み取るには、スクリプトに以下を追加します。

#Googleスプレッドシートからデータを読み取る
spreadsheet_id = 'your-spreadsheet-id' # 実際のシートIDに置き換えてください
range_name = 'Sheet1!A1:G71' # 読み取る範囲を指定
# シートからデータを取得
result = service.spreadsheets().values().get(
 spreadsheetId=spreadsheet_id,
 range=range_name
).execute()
values = result.get('values', [])
print("Data from Google Sheet:", values)
  • 「your-spreadsheet-id」を実際のスプレッドシートIDに置き換えます。
  • シートIDはURLから確認できます:https://docs.google.com/spreadsheets/d/your-spreadsheet-id/edit#gid=0
  • スクリプトを再実行すると、取得したデータがターミナルに表示されます。

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

2. Googleスプレッドシートにデータを書き込む

API連携により、Pythonスクリプトからスプレッドシートへの書き込みも可能です。データを書き込むには、以下をスクリプトに追加します。

#Googleスプレッドシートにデータを書き込む
data = [
 ['Name', 'Age', 'Department', 'Salary'],
 ['Alice', 30, 'HR', 60000],
 ['Bob', 25, 'Engineering', 70000],
 ['Charlie', 35, 'Sales', 80000],
]
body = {
 'values': data
}
service.spreadsheets().values().update(
 spreadsheetId=spreadsheet_id,
 range='Sheet2!A1',
 valueInputOption='RAW',
 body=body
).execute()
  • スクリプトを実行すると、Googleスプレッドシート上でデータが更新されていることが確認できます。

Google Sheets API連携でワークフローを自動化する方法【Python実装ガイド】

スクリプトを定期実行して自動化する

スケジューラを使ってスクリプトを自動実行できます。また、Apps Scriptにトリガーを追加してスクリプトを定期実行することも可能です。

  • Windows:タスクスケジューラを使用します。
  • macOS / Linux:cronジョブを使用します。

自動化の活用例

  • 複数のソースからデータを自動的に取得し、日次サマリーを生成する。
  • 生データを取得・クレンジングし、整形済みデータを書き戻す。
  • 外部データベースからGoogleスプレッドシートへデータを同期する。

まとめ

Google Sheets APIを活用すれば、繰り返し発生する作業やデータ入力、レコード更新、他サービスとの連携など、さまざまなタスクを自動化できます。この仕組みを導入することで、ワークフローが効率化され、手作業の手間を大幅に削減できます。まずは小さな自動化から試してみて、API連携の新たな可能性を切り拓いてみてください。

  1. Excelで不要なページを削除する方法|改ページと印刷範囲の設定手順

    ポイント 表示タブ→改ページ プレビューを選択し、青い点線をドラッグして印刷範囲を調整します。 ワークシートの一部だけを印刷したい場合は、範囲を選択してファイルタブ→印刷を選びます。 印刷範囲を恒久的に設定するには、ページ レイアウトタブで範囲を選択し、印刷範囲をクリックします。 この記事では、Excelで不要なページを削除する方法を解説します。手順は Microsoft 365 版 Excel、Excel 2019、Excel 2016、Excel 2013、Excel 2010 に対応しています。 Excelで不要なページを削除する手順 「改ページ」とは、ワークシート上のどの内容が印刷

  2. Microsoft Teamsの「Togetherモード」とは?仕組みと使い方をわかりやすく解説

    Microsoft TeamsのTogetherモード(トゥギャザーモード)は、少人数のミーティング向けに設計されたシンプルな表示オプションです。通常のグリッド表示とは異なり、参加者全員が同じ仮想空間(講堂のような場所)に並んで座っているかのような、一体感のあるビューを提供します。 Togetherモードの仕組み Togetherモードでは、Microsoft Teamsに搭載されたAI(人工知能)技術が活躍します。AIがカメラ映像から顔の部分を自動的に切り抜いてアバターを作成し、その切り抜き画像を共有の仮想背景上に配置します。これにより、まるで全員が同じ部屋に集まっているかのような臨場感が