如果有需要看官方舊版的文件的話,網址在這:
舊版API文件:https://developers.line.me/bot-api/overview
新版的在這:
新版API文件:https://developers.line.me/messaging-api/overview
這篇只是單純的把想要推播的訊息推送給對方,單純只推送訊息就不用用到Webhook去接收使用者回傳得訊息,所以這程式也不用放到Server端在本機就能測試,但前提是要知道對方的使用者ID。
Http request
POST https://api.line.me/v2/bot/message/push
Request headers
Content-Type :application/json
Authorization :Bearer {Channel Access Token}
Request body
to : ID (字串格式)
messages :message 物件
message 物件
文字類別:
type : text (字串)
text : 要傳送的訊息(字串,最多2000字)
目前可以推播的訊息種類有8種,這邊就以推播純文字的方式來示範
建立LineMessagingService及設定一些上面敘述所要發送的資料,
using System.Net.Http;
using System.Net.Http.Headers;
using System.Net;
using System.Threading.Tasks;
namespace SevenDollarsLineBot.Utility
{
public class LineMessagingService
{
HttpClient Client = new HttpClient();
public LineMessagingService(string ChannelAccessToken)
{
Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
Client.DefaultRequestHeaders.Add("Authorization", $"Bearer {ChannelAccessToken}");
}
public async Task<HttpStatusCode> PushMessage(string ID, string s)
{
try
{
var PostResult = await Client.PostAsJsonAsync("https://api.line.me/v2/bot/message/push",
new
{
to = ID,
messages = new[]
{
new {
type="text",
text =s,
}
}
});
return PostResult.StatusCode;
}
catch
{
return HttpStatusCode.BadRequest;
}
}
}
}
Controller部分
using SevenDollarsLineBot.Utility;
using System.Threading.Tasks;
using System.Web.Http;
namespace SevenDollarsLineBot.Controllers
{
public class ChatController : ApiController
{
//Line開發者頁面裡面的Basic information頁面找的到 ChannelAccessToken
string ChannelAccessToken = "YourChannelAccessToken";
/// <summary>
/// 推播訊息給使用者
/// </summary>
/// <param name="ID">使用者ID</param>
/// <param name="s">要說的話</param>
/// <returns></returns>
public async Task<IHttpActionResult> Get(string id = "", string s = "")
{
LineMessagingService Service = new LineMessagingService(ChannelAccessToken);
var HttpStatusCode = await Service.PushMessage(id, s);
return Content(HttpStatusCode, HttpStatusCode);
}
}
}
Postman 發送測試,注意網址參數及右下角訊息
點選Send後,右下角馬上跳出電腦版的Line訊息
電腦版Line訊息框
手機版也有出現訊息
除了Line 以外還有很多大公司也有在做這部分,不知道以後會發展到怎樣,如果你有好的想法去應用在這上面,可以去參加Line官方的比賽,以下是官方的訊息:
開發更多活用Messaging API特性的帳號,是LINE目前的目標。
我們將提供最多1,000萬日圓的獎金給冠軍。
衷心期待各位擁有高超技術及想法的朋友踴躍參加。
最後希望大家都能開發出自己喜歡的機器人。