使用 C++(Win32 API + WinHTTP)發送訊息至 Slack 的方法【支援 Webhook】
想要從 C++ 發送訊息到 Slack。 在 Node.js 或 Python 中這很常見,但使用「C++ × Win32 API × WinHTTP」來做的情況應該很少見吧。
這篇文章將以循序漸進的方式,淺顯易懂地解說 如何使用 Webhook URL 從 C++ 發送訊息到 Slack 。
✅ 整體流程
要發布到 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 整合!
