0001. Azure + LineBot 程式架設教學

2016年10月後LineBot API 開放了,開發者進行申請就能獲得LineBot API的使用權,當然免費版還是有很多限制

詳情可以參考: https://business.line.me/zh-hant/services/bot

本篇目的: 架設LineBot API 。

以下是操作流程:

 

Step 1:  申請LineBot API 的使用權

Step 2: 註冊完成後 -> 進入可以看到用戶資訊  -> 請選擇下方的帳號

Step 3: 選擇帳號後 左邊 畫面會切換如下圖

Step 4:  編寫新訊息 -> 自動回應 -> 將所有的自動回應資料清空 (下圖是清空畫面)

Step 5: 帳號設定 ->可以看到相關資料(這邊開發者可以進行設定)  -> bot設定 

※ 建議此時可以掃QR code 加機器人好友 ,最後會用到

Step 6: 進入Bot 後 -> 確保可使用的API 具有 Push 與 REPLY 兩個權限(與Step1 帳號申請權限有關) -> Webhook 傳訊 允許 -> 點擊 Line Developers 跳到連結 

Step 7: 進入後 Token 是WebAPI呼叫對象的核心

Step 8: 開啟Visual Studio  -> 建立Asp.Net Web 應用程式

Step 9: 建立Web API

Step 11: 建立後 Visual 後有內建的 ValuesController   這就是基本的API 呼叫範例

Step 12:  接著使用Nuget -> 瀏覽 -> LineBot SDK -> 安裝

Step 13: 安裝0.3.9 版本的SDK

Step 14: 安裝完成後會出現 readme.txt  0.3.9版本的說明文件

Step 15: 回到 ValuesController.cs 底下,將所有的資料清除貼上以下程式碼 ,記得到Step 7 將自己的Token 貼在  MyLineChannelAccessToken 的字串中

 /// <summary>
        /// Line機器人回覆API
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public IHttpActionResult Post()
        {
            string MyLineChannelAccessToken = "我是Token";

            try
            {
                //取得 http Post RawData(should be JSON)
                string postData = Request.Content.ReadAsStringAsync().Result;
                //剖析JSON
                var ReceivedMessage = isRock.LineBot.Utility.Parsing(postData);
                //回覆訊息
                string Message;
                Message = string.Format("現在時間:{0}  您說了:{1}", DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"), ReceivedMessage.events[0].message.text);
                //回覆用戶
                isRock.LineBot.Utility.ReplyMessage(ReceivedMessage.events[0].replyToken, Message, MyLineChannelAccessToken);
                //回覆API OK
                return Ok();
            }
            catch (Exception ex)
            {
                return Ok();
            }
        }

Step 16: 接著將該專案發行到Azure

Step 17: 請選擇匯入 (將Azure 設定檔案匯入,可參考  : https://dotblogs.com.tw/milkgreenteaprograme_c_sharp/2016/12/28/225228 )

Step 18: 進入Azure 儀錶板取得自己的 URL 網址  ,會如下

http://網站名稱.azurewebsites.net/

Step 19: 回到Step7的頁面 ,按下右下角的 EDIT  -> 將Azure網址的API呼叫位置帶入,如果照以上範例 應該輸入如下 

※記得帶入:443 port 號

https://網站名稱.azurewebsites.net:443/api/Values/post

 

Step 20 :  最後可以用自己的Line 與機器人加好友,發送訊息給LineBOT 他就會依照API的設定回覆 對應資訊