内容简介:上一篇文章:我使用了自己的開源套件
上一篇文章: [C#][Line] 使用 Line Notify 開發訊息通知機器人 – 註冊篇
我使用了自己的開源套件 LexLibrary.Line.NotifyBot ,直接從 NuGet 就可以下載安裝,節省了許多串接 API 時所需的開發與測試時間,只需安裝套件後即可快速開發 Line Notify Bot!!
- 從 管理登錄服務 找到剛剛我們註冊的新項目,取得
Client ID與Client Secret - 打開
Startup.cs找到ConfigureServices方法,並在這裡新增下列程式碼
services.AddLogging(); services.AddHttpClient(); services.AddLineNotifyBot(new LineNotifyBotSetting { ClientID = "", ClientSecret = "", AuthorizeApi = "https://notify-bot.line.me/oauth/authorize", TokenApi = "https://notify-bot.line.me/oauth/token", NotifyApi = "https://notify-api.line.me/api/notify", StatusApi = "https://notify-api.line.me/api/status", RevokeApi = "https://notify-api.line.me/api/revoke" }); - 接著需要使用 Client Redirect 的方式讓使用者登入 Line 並授權給系統權限,我已經在套件裡面封裝好方法了,只要使用
LineNotifyBotApi.GenerateAuthorizeUrl即可取得 Redirect Url。
string callBackUrl = string.Format("{0}://{1}{2}", Request.Scheme, Request.Host, Url.Action("CallBack")); string clientAuthorizeUrl = _lineNotifyBotApi.GenerateAuthorizeUrl(callBackUrl, "1234");※1234這個參數可以拿來做 XSS 驗證避免被攻擊 - 使用者授權完後 Line 會 CallBack 到上面定義好的網址,可以用
AuthorizeCallbackDTO這個物件接收參數
public IActionResult CallBack(AuthorizeCallbackDTO callbackDTO) { // 可能是第三方攻擊 if (callbackDTO.State != "1234") { return new UnauthorizedResult(); } return RedirectToAction("Index", new { callbackDTO.Code }); } - 利用
AuthorizeCallbackDTO.Code的值去呼叫LineNotifyBotApi.Token,可以取得發送訊息給使用者的 AccessToken
var apiResult = await _lineNotifyBotApi.Token(new TokenRequestDTO { Code = code, RedirectUri = callBackUrl }); ViewBag.AccessToken = apiResult.Access_Token; - 取得 AccessToken 後就可以呼叫
LineNotifyBotApi.Notify發送訊息給使用者囉!
var apiResult = await _lineNotifyBotApi.Notify(new NotifyRequestDTO { AccessToken = accessToken, Message = message }); ViewBag.ResultJson = JsonConvert.SerializeObject(apiResult, Formatting.Indented); - 我有寫一個簡單的範例放到 GitHub 供給大家參考,有問題歡迎在下方留言給我。
以上所述就是小编给大家介绍的《[Line] 使用 Line Notify 開發訊息通知機器人 – 程式開發》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 佈署 Angular 應用程式至 IIS 虛擬目錄 / 應用程式
- 佈署 Angular 應用程式至 IIS 虛擬目錄 / 應用程式
- matlab—方程式求根
- 八、Golang过程式编程
- 如何降低程式碼複雜度 ?
- 算法系列(1):Google方程式
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
CSS禅意花园
[美] Dave Shea、Molly E. Holzschlag / 陈黎夫、山崺颋 / 人民邮电出版社 / 2007-6 / 49.00元
这本书的作者是世界著名的网站设计师,书中的范例来自网站设计领域最著名的网站——CSS Zen Garden(CSS禅意花园)。全书分为两个主要部分。第1章为第一部分,讨论网站“CSS禅意花同”及其最基本的主题,包含正确的标记结构和灵活性规划等。第二部分包括6章,占据了书中的大部分篇幅。 每章剖析“CSS禅意花园”收录的6件设计作品,这些作品围绕一个主要的设计概念展开,如文字的使用等。通过探索......一起来看看 《CSS禅意花园》 这本书的介绍吧!