[C#][Line] 如何發送 Line Notify 通知訊息 (開發人員用)
Line Notify 是由程式發送通知訊息至我們的 Line 帳號內,是 Line 免費的服務,我們可以將重要訊息或是定時監控傳送至我們手機上,隨時掌握最新狀態。
Line Notify 可以傳送至個人和群組帳戶,如果是群組帳戶,就像是廣播機一樣,通知群組內所有人。
使用 Line Notify 需要將官方帳號「LINE Notify」加入好友中,如果推播訊息至在群組內,也是要將「LINE Notify」加入到群組內才行。
Line Notify 服務可以分為正式服務和開發人員使用,正式服務適合企業使用,需要輸入企業服務內容、網址、Email 等資訊才可以申請。
開發人員使用則適合個人或內部管理使用,設定簡單,只需要申請權杖 (Token) 即可,此範例將會以開發人員使用做介紹。
申請 Line Notify 服務 (開發人員用)
使用 Line Notify 需要先申請發行權杖 (Token) ,至 Line Notify 個人頁面,點擊「發行存取權杖」,請使用電腦瀏覽器開啟。
接著選擇要通知的對象,可以選個人或是群組,個人的話會在第一順位,下面的都是群組。
輸入權杖名稱後就可以按「發行」。
發行後會得到權杖金鑰,先自行儲存此權杖,之後寫程式會用到。
此權杖金鑰關閉後,就查不到了,記得先存起來。
按發行後,這時候個人的 Line 通知也會出現訊息。
如果沒有的話,就是還沒加入官方「LINE Notify」為好友,在好友搜尋欄位輸入「LINE Notify」再加入好友即可。
如果推播對象是群組的話,那就在群組內按「邀請」,將「LINE Notify」加入到群組內就行了。
這時候已建立一個通知服務了。
C# 發送通知
接著編寫 C# 程式碼,不管是 .Net Core 或是 .Net Framework 都可以使用,此語法不限制專案類型,在 Web, WinForm, Console 也都可以執行。
在程式碼加入以下語法:
1 2 3 4 5 6 |
HttpClient httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded")); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "{替換你的權杖金鑰}"); var content = new Dictionary<string, string>(); content.Add("message", "測試訊息"); httpClient.PostAsync("https://notify-api.line.me/api/notify", new FormUrlEncodedContent(content)); |
取代你的權杖金鑰,然後修改訊息內容即可測試了。
傳送後 Line 將會收到通知。
相關學習文章
- [ASP.NET MVC] QR Code 製作與 Base32 編碼應用 (附範例下載)
- [C#] 伺服器監控常用語法 (事件檢視器、CPU 使用率、硬碟容量、程式執行狀況)
- [ASP.NET Core SignalR] 即時對話聊天室教學 #CH1
如果你在學習上有不懂的地方,需要諮詢服務,可以參考站長服務,我想辨法解決你的問題
如果文章內容有過時、不適用或錯誤的地方,幫我在下方留言通知我一下,謝謝
感謝感謝
不客氣唷~
在Line Notify 個人頁面找不到地方取得權杖?
我剛剛測試登入看正常,你要加入我的 line 好友,傳畫面給我看一下嗎?
https://imgur.com/a/IDrOYvW 個人頁面截圖,沒有看到權杖相關選項..
原來你是用手機瀏覽,我剛剛試著用手機瀏覽,也發現沒有看到此功能,看起來這功能只出現在電腦版的網頁才會有,你再用電腦版試一下喔
白天不方便用電腦,所以沒有試,現在看確實有了,謝謝。
請問一下,我使用C# WinForm上使用
程式碼放在Butten,但完全沒有發送的效果
請問這個還能使用嗎?
我目前使用 Line NOtify 都很正常喔
找到問題了
TCL/SSL要先開通
{
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;
}
喔喔 謝謝分享喔
請問這需要先安裝Curl嗎?
https://community.chocolatey.org/packages/curl
不用
請問,為什麼每次訊息發出時,都會參雜一些HTML的語法,比如.等等的…
怎麼解?
請問一下,我在 winform 下可以正常傳出line notify ,但使用webapi去傳就不行了..
有什麼需要注意的地方嗎
我自己都是在 WinForm 下執行,
那想了解一下,你用 WebApi 的錯誤訊息是什麼?
和Mars遇同樣問題,webapi顯示401錯誤,但WinForm正常
更正 是和jeff~
你好~我和jeff一樣 winform正常、webApi錯誤回傳401狀態
不好意思 我在Winform上面 的Button按了沒有發送 也沒錯誤 請問我有甚麼地方沒做嗎? 感謝
第1個先檢查 VS 執行時,執行緒是否有進去,要在程式碼上點一下中斷點,用 Debug 模式確認執行緒有進去
第2個要檢查 line 有沒有把 Line Notify 加入好友或加入到群組
如果還是有問題的話,你可以加我的 line 好友,傳你的畫面給我看一下喔