Google Calendar APIを使ってみる

programing

Googleカレンダーに登録しているイベント数の集計をとりたくなり、APIで取れそうだったためやってみる。

やること

Google Cloud

プロジェクトのGoogle Calendar APIを有効化する。

OAuthの初期設定をする。サービス名やメールアドレスを入力する。

認証情報からAPIキーを作成する。

公開されているカレンダーの情報を取得するのはAPIキーだけあればできる。

Pythonでプログラミング

リクエストを送るとイベント数が返ってくる。次のページがある場合は次のページ分も繰り返し取得する。

import requests

def fetch_all_events(url):

    events = []
    page_token = None

    while True:
        params = {'pageToken': page_token} if page_token else {}
        response = requests.get(url, params=params)
        data = response.json()
        events.extend(data.get('items', []))
        page_token = data.get('nextPageToken')
        if not page_token:
            break
    
    return events


if __name__ == '__main__':
    api_key = 'YOUR_API_KEY'
    calendar_id = 'en.usa#holiday@group.v.calendar.google.com'  # TODO: 取得したいカレンダーIDにする

    url = f'https://www.googleapis.com/calendar/v3/calendars/{calendar_id}/events?key={api_key}'
    events = fetch_all_events(url)

    print(f'総イベント数: {len(events)}')

グラフにもできるようにしたのでこちらを参考にして欲しい: memo2/python/google/calendar_api.py at main · st34-satoshi/memo2

参考サイト

終わりに

APIキーを取得できればあとは簡単にカレンダーに登録されているイベントを取得することができた!プログラミングはほぼAIにやってもらって簡単だった!

コメント

タイトルとURLをコピーしました