C++(Win32 API + WinHTTP)でSlackにメッセージを投稿する方法【Webhook対応】
SlackにC++からメッセージを投稿したい。 Node.js や Python ではよくあるけど、「C++ × Win32 API × WinHTTP」でやるケースは少ないですよね。
この記事では、Webhook URLを使ってSlackにC++からメッセージを送信する方法を、ステップ・バイ・ステップでわかりやすく解説します。
✅ 全体の流れ
Slackに投稿するには、以下の手順を踏みます。
- SlackのWebhook URL(APIキー)を取得
- WinHTTPを使って
POST
リクエストを送信 - JSON形式でメッセージ本文を組み立てる
- 結果をチェックして完了!
🔑 Step1:Slack Webhook URLの取得方法
Slackでは、Incoming Webhooksという機能を使って、簡単に外部サービスからメッセージを投稿できます。
取得手順
- https://api.slack.com/apps にアクセス
Create New App
をクリックFrom scratch
を選んでアプリ名と投稿先のワークスペースを選択- 左メニューから「Incoming Webhooks」を選び、有効化
- 「Add New Webhook to Workspace」をクリックし、チャンネルを選択
- 発行されたURL(例:
https://hooks.slack.com/services/xxx/yyy/zzz
)をコピー
このURLが、APIキーのように機能します。
💻 Step2:C++コードでSlackにメッセージ送信
使用する技術
- Win32 API
- WinHTTP(標準ライブラリ)
- JSON形式のメッセージ
サンプルコード(Slack投稿)
|
|
🧪 JSONメッセージのカスタマイズ
SlackのWebhookでは、以下のようなパラメータを含めることができます:
|
|
📌 補足事項
Content-Type
は"application/json"
を必ず指定- Webhook URL はそのまま
wstring
で渡す(URLエンコード不要) - HTTPS通信なので、
WINHTTP_FLAG_SECURE
を忘れずに
🎉 おまけ:Slackでの投稿確認例
Slackにこのように表示されます:
|
|
✍️ まとめ
項目 | 内容 |
---|---|
投稿方式 | Webhook (Incoming Webhooks) |
通信ライブラリ | WinHTTP |
データ形式 | JSON |
使用可能パラメータ | text, username, icon_emoji, channel など |
C++でSlack連携なんて…と思っていたあなたも、今日から通知Botを組み込めます!
🚀 次回予告?
もし興味があれば、次回は:
- ファイル添付
- ボタン付きUI
- Slack App + OAuth2による柔軟なAPI操作
など、もう一歩踏み込んだSlack連携もご紹介できます!