会議やタスクをGoogleカレンダーに自動で登録できれば、スケジュール管理の効率が格段に上がります。Pythonを使えば、Google Calendar APIと連携して予定の追加・更新・削除を自動化できます。
この記事では、PythonとGoogleカレンダーを連携して、プログラムから予定を登録する方法をステップごとに解説します。
事前準備:Google APIの有効化と認証情報の取得
- Google Cloud Console にアクセス
- 新しいプロジェクトを作成
- 「Google Calendar API」を有効化
- 「OAuth 2.0クライアントID」を作成し、認証情報(
credentials.json
)をダウンロード - 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)との連携によって、さらに強力な業務フロー構築も実現できます。まずはシンプルな予定登録から始めてみましょう。