【Python】Googleカレンダーと連携して予定を自動登録する方法

【Python】Googleカレンダーと連携して予定を自動登録する方法 Python

会議やタスクをGoogleカレンダーに自動で登録できれば、スケジュール管理の効率が格段に上がります。Pythonを使えば、Google Calendar APIと連携して予定の追加・更新・削除を自動化できます。

この記事では、PythonとGoogleカレンダーを連携して、プログラムから予定を登録する方法をステップごとに解説します。

事前準備:Google APIの有効化と認証情報の取得

  1. Google Cloud Console にアクセス
  2. 新しいプロジェクトを作成
  3. 「Google Calendar API」を有効化
  4. 「OAuth 2.0クライアントID」を作成し、認証情報(credentials.json)をダウンロード
  5. OAuth同意画面を設定(個人で使用する場合はテストユーザーに自身を追加)

必要なライブラリのインストール

pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib

Googleカレンダーに予定を追加する基本スクリプト

from __future__ import print_function
import datetime
import os.path
from google.oauth2 import service_account
from googleapiclient.discovery import build

# スコープ(カレンダー操作用)
SCOPES = ['https://www.googleapis.com/auth/calendar']

# 認証ファイル
creds = None
creds = service_account.Credentials.from_service_account_file(
    'credentials.json', scopes=SCOPES)

# APIクライアントを作成
service = build('calendar', 'v3', credentials=creds)

# 予定の内容を定義
event = {
  'summary': 'Python連携テスト',
  'location': '東京本社',
  'description': 'Google Calendar API を使った自動登録テスト',
  'start': {
    'dateTime': '2025-07-18T10:00:00+09:00',
    'timeZone': 'Asia/Tokyo',
  },
  'end': {
    'dateTime': '2025-07-18T11:00:00+09:00',
    'timeZone': 'Asia/Tokyo',
  },
}

# 登録先カレンダーID('primary' でメインカレンダー)
event_result = service.events().insert(calendarId='primary', body=event).execute()
print('登録完了:', event_result.get('htmlLink'))

予定の削除・取得・更新も可能

  • 予定の取得:service.events().list()
  • 予定の更新:service.events().update()
  • 予定の削除:service.events().delete()

応用例

  • CSVファイルから予定を一括登録
  • 定期実行してリマインダーや締切予定を自動登録
  • Slackやメール通知と連携してチームに共有

まとめ

PythonとGoogle Calendar APIを組み合わせれば、予定の登録や管理を柔軟に自動化できます。業務スケジュールの整備やリマインダーの自動設定、タスクの可視化など、幅広い活用が可能です。

他のGoogleサービス(GmailやSheets)との連携によって、さらに強力な業務フロー構築も実現できます。まずはシンプルな予定登録から始めてみましょう。