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的設定回覆 對應資訊