【Python】Google APIを操作するための build() 関数の使い方をわかりやすく解説!

B!

PythonでGoogleの各種API(例:Google Sheets、Drive、Calendarなど)と連携したいときに便利なのが google-api-python-client です。

このgoogle-api-python-clientGoogle が公式に提供している Python 用のライブラリ(パッケージ)

その中でも from googleapiclient.discovery import build は、Google API にアクセスするための「サービスオブジェクト」を作るための基本的な関数です。

この記事では build の役割や使い方、活用シーン、注意点までをわかりやすく丁寧に解説します。

build とは?

build() は、Googleが提供するAPIの「クライアントインターフェース」を生成する関数です。

Pythonコード上で build(serviceName, version) を呼び出すことで、たとえば Google Sheets や Gmail などの各種APIの機能にアクセスできるようになります。

Google APIごとに異なるエンドポイントや認証を意識せず、Pythonから直接使える形にしてくれるのがこの build 関数の大きなメリットです。

具体例①:Google Sheets API のクライアントを作成する

まずは、Google Sheets API を操作する基本コードを見てみましょう。

Pythonでスプレッドシートにデータを書き込んだり、値を取得する等に使えます。

このコードでやっていることは:

  • サービスアカウントの認証情報を使って Credentials を作成
  • build("sheets", "v4", ...) により Sheets API v4 のクライアントを生成
  • .spreadsheets() を呼ぶことで、スプレッドシートにアクセスするためのハンドラを取得

これ以降は sheet.values().get()sheet.values().update() などを使って、Pythonからスプレッドシートを直接読み書きできます。

具体例②:Google Drive API のクライアントを作る

別のAPIでも同じように build() を使います。

Drive API でファイル一覧を取得する例は次の通りです。

このように、使いたいGoogle APIのサービス名(たとえば "drive")とバージョン(たとえば "v3")を指定するだけで、API操作が可能になります。

build の主な引数

build() 関数では以下のような引数を指定できます。

引数 説明
serviceName 利用したいAPI名(例:"sheets", "drive", "gmail")
version 利用するAPIのバージョン(例:"v4", "v3")
credentials Google認証情報(Credentials オブジェクト)
cache_discovery True でAPI定義のキャッシュを有効に(※通常は省略可)
developerKey APIキー(OAuthを使わずキーで認証する場合)

基本的には serviceName, version, credentials の3つを指定するだけで使えます。

以下に、よく使われる serviceName の例とその対応する Google API を一覧表にまとめました。

serviceName 対応する Google API 主な用途例
"sheets" Google Sheets API スプレッドシートの読み書き、セル更新など
"drive" Google Drive API ファイルの一覧取得、アップロード、削除など
"gmail" Gmail API メールの送信、受信履歴の取得、自動返信など
"calendar" Google Calendar API イベントの追加・取得、予定の管理
"docs" Google Docs API ドキュメントの読み取り、テキスト挿入など
"slides" Google Slides API スライドの構成取得、テキスト・画像の挿入など
"youtube" YouTube Data API v3 動画アップロード、チャンネル情報取得、再生回数分析など
"people" People API Google連絡先の取得、ユーザー情報の取得
"classroom" Google Classroom API クラス作成、生徒の登録、課題の管理など
"admin" Admin SDK(Directory API など) 組織ユーザーの管理、グループの作成
"analytics" Google Analytics Reporting API / Data API アクセス解析データの取得、レポート生成
"bigquery" BigQuery API データのクエリ実行、テーブル操作など
"cloudresourcemanager" Cloud Resource Manager API プロジェクトやフォルダの管理

version はそれぞれのAPIに対応するバージョン(例:"v4", "v3")を指定する必要があります。

正確なバージョンは Google API Explorer公式ドキュメント で確認できます。

活用シーン:どんなときに使う?

build() は、以下のようなGoogleサービスをPythonから操作したいときに必須となる関数です。

  • Google Sheets でスプレッドシートの自動書き込み・取得
  • Google Drive でファイルやフォルダの一覧取得・ダウンロード
  • Gmail の自動送信・受信内容の取得
  • Google Calendar の予定作成や一覧取得
  • YouTube の動画アップロード・チャンネル情報取得

Googleが提供しているAPIならほぼすべてに対応しており、幅広い自動化やデータ連携に活用できます。

注意点:使う前に認証設定が必要

build() を使う前に、以下の準備が必要です。

  • Google Cloud Console でプロジェクトを作成
  • 該当するAPIを有効化(例:Google Sheets API)
  • サービスアカウントを作成してJSON形式の鍵をダウンロード
  • Pythonから google-auth ライブラリ等を使って認証設定

これらの手順を正しく踏んでいないと、build() を使っても認証エラーになります。

まとめ

今回は from googleapiclient.discovery import build の意味と使い方について詳しく紹介しました。

  • build() はGoogleの各種APIと連携するためのクライアントを生成する関数
  • サービス名とバージョンを指定するだけで、簡単にAPI操作ができる
  • 認証には Credentials を使い、サービスアカウント経由が一般的
  • SheetsやDrive、Gmailなど多くのAPIで共通的に使える
  • 事前にCloud ConsoleでのAPI有効化と鍵ファイル取得が必要

Googleのサービスを自動化・統合したいときに欠かせない関数です。

一度しっかり理解しておけば、様々な業務の効率化やデータ処理をPythonで自由自在に行えるようになります。

最新の記事はこちらから