/// <summary>根據傳入種類發送訊息</summary> /// <param name="ChannelAccessToken"></param> /// <param name="type"></param> /// <param name="message"></param> /// <returns></returns> internal static string SendMessageAction(string ChannelAccessToken, PostMessageType type, SendLineMessage message) { string strUrl = string.Empty; switch (type) { case PostMessageType.Reply: strUrl = "https://api.line.me/v2/bot/message/reply"; break; case PostMessageType.Push: strUrl = "https://api.line.me/v2/bot/message/push"; break; case PostMessageType.Multicast: strUrl = "https://api.line.me/v2/bot/message/multicast"; break; } HttpClient client = GetClientDefault(ChannelAccessToken); try { var sJosn = JsonConvert.SerializeObject(message); var content = new StringContent(sJosn, Encoding.UTF8, "application/json"); var s = client.PostAsync(strUrl, content).Result.Content.ReadAsStringAsync().Result; if (s == "{}") { return(string.Empty); } else { LineErrorResponse err = JsonConvert.DeserializeObject <LineErrorResponse>(s); throw new Exception(err.message); } } finally { client.Dispose(); } }
/// <summary> /// 根據傳入種類發送訊息 /// </summary> /// <param name="ChannelAccessToken"></param> /// <param name="postMessageType"></param> /// <param name="message"></param> /// <returns></returns> internal static bool SendMessageAction(string ChannelAccessToken, PostMessageType postMessageType, SendMessage message) { HttpClient client = SetClient(ChannelAccessToken); try { string strUrl = string.Empty; switch (postMessageType) { case PostMessageType.Reply: strUrl = "https://api.line.me/v2/bot/message/reply"; break; case PostMessageType.Push: strUrl = "https://api.line.me/v2/bot/message/push"; break; case PostMessageType.Multicast: strUrl = "https://api.line.me/v2/bot/message/multicast"; break; } string sJson = JsonConvert.SerializeObject(message); var content = new StringContent(sJson, Encoding.UTF8, "application/json"); var result = client.PostAsync(strUrl, content).Result; if (result.IsSuccessStatusCode) { return(true); } throw throwLineErrorMsg(result.Content.ReadAsStringAsync().Result); } finally { client.Dispose(); } }