【Python】ChatGPTを使ってGoogleカレンダーの内容をSlackに連携するプログラムを開発してみた

はじめに

最近、ChatGPTを使用してGoogleカレンダーの内容をSlackに連携するPythonプログラムを作成しました。この記事では、その時の流れを書いていきます。

事前準備

最初に、Google Calendar APIとSlack APIのセットアップを行います。
Google Cloud Consoleでプロジェクトを作成し、APIキーとOAuth 2.0クライアントIDを取得しました。また、Slack APIにもアプリを作成し、ボットトークンを取得しました。
なおこのあたりが不明な場合もChatGPTに聞くことである程度進めることが可能でした。
ここではGoogleのOAuthのクライアントID、クライアントシークレットが入ったjsonファイルと、Slack側のトークンを取得しておきます。

ChatGPTを用いたPythonスクリプトの作成

事前準備完了後にChatGPTを使用してGoogleカレンダーの内容を取得し、それをSlackに通知するPythonスクリプトを作成しました。このスクリプトでは、Google Calendar APIとSlack APIを使用するための認証情報を設定し、翌日の予定を取得してSlackに通知します。

以下はコードの抜粋です。※同じようにChatGPTで質問すれば似たコードが出てくると思うので実際のコードは試してみてください。

# コードの抜粋
# ...

# Slackに予定を通知
if not events:
    message = f"翌日の予定はありません。 ({formatted_tomorrow})"
else:
    message = f"翌日の予定 ({formatted_tomorrow}):\n"
    for event in events:
        start_datetime_str = event['start'].get('dateTime', event['start'].get('date'))
        if 'T' in start_datetime_str:
            start = datetime.strptime(start_datetime_str, '%Y-%m-%dT%H:%M:%S%z')
            formatted_start = start.strftime('%Y-%m-%dT%H:%M:%S')
        else:
            start = datetime.strptime(start_datetime_str, '%Y-%m-%d')
            formatted_start = start.strftime('%Y-%m-%d')

        message += f"{formatted_start} - {event['summary']}\n"

# ...

出力されたコードについて

出力されたコードはそのまま利用はできず、環境に依存する箇所(トークンなど)を書き換える必要があります。
この書き換える必要がある箇所もChatGPTに聞くことで教えてくれるので簡単に書き換えができます。
さらにコードの意味が分からない場合もわからないコードの箇所を張り付けて「ここの意味を教えてください」のように依頼すれば意味を教えてくれるので非常に便利です。

同様にエラーの対処もエラーメッセージを貼ることで解決策を教えてくれるので短時間で開発が可能になります。

注意事項

出力されたコードを理解せずにそのまま貼り付けることはおすすめしません。
理解しないと今後難しいコードを書くことになった場合や、応用ができないためです。
ChatGPTに意味を聞いてもいいので理解した上で必ず利用するようにしましょう。

終わりに

今回の開発でPythonを使ったAPI連携の基本やChatGPTの利用方法を学ぶことができました。ぜひ、自身のプロジェクトにも応用してみてください。

おまけ

今回の記事ですが、6割くらいChatGPTに書かせてみました。
結構文章になっていて技術の進歩を感じました。

コメント

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