(更新: 2026.03.21)

Chatwork通知が飛ばなかった原因と修正方法

Chatwork通知が飛ばなかった原因と修正方法

問題

Googleカレンダーにイベントを追加したとき、Chatwork通知が飛ばない。

コードを見ると、ちゃんと send_chatwork_notification() を呼び出しているのに…

原因

notifications.py で環境変数(.env)が読み込まれていなかった。

# notifications.py(修正前)

import os
import requests

def send_chatwork(message: str):
    api_token = os.getenv('CHATWORK_API_TOKEN')  # ← Noneになる
    room_id = os.getenv('CHATWORK_ROOM_ID')

    # ...

os.getenv() は呼び出せるけど、.env ファイルが読み込まれていないと空文字が返る。

解決策

dotenv.env を読み込む:

# notifications.py(修正後)

from dotenv import load_dotenv
import os
import requests

load_dotenv()  # ← これを追加

def send_chatwork(message: str):
    api_token = os.getenv('CHATWORK_API_TOKEN')  # ← 正しく取得
    room_id = os.getenv('CHATWORK_ROOM_ID')

    # ...

学んだこと

  • os.getenv() は環境変数を取得するだけ
  • .env ファイルは自動で読み込まれない
  • load_dotenv() を明示的に呼ぶ必要がある

Pythonあるあるですね。


修正時間: 5分
影響範囲: 通知機能全般