เขียน code ส่ง Line Notify ด้วย C#

เริ่มต้นต้องประกาศ Using ก่อน ดังนี้

using System.Net;
using System.IO;

แล้วใส่ code ตามด้านล่างนี้

private void LineNotify(string lineToken, string message)
{
        try
        {
            string message = System.Web.HttpUtility.UrlEncode(message, Encoding.UTF8);
            var request = (HttpWebRequest)WebRequest.Create("https://notify-api.line.me/api/notify");
            var postData = string.Format("message={0}", message);            
            var data = Encoding.UTF8.GetBytes(postData);            
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = data.Length;
            request.Headers.Add("Authorization", "Bearer " + lineToken);
            var stream = request.GetRequestStream();
            stream.Write(data, 0, data.Length);
            var response = (HttpWebResponse)request.GetResponse();
            var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
    }

พารามิเตอร์ที่ต้องส่งมีดังนี้

lineToken วิธีการขอ Line Token ดูได้จากบทความ การส่ง Line Notify ด้วย Command Line

message คือข้อความที่ต้องการจะส่งผ่าน Line Notify

ในการทดสอบฟังก์ชันหรือใช้งานฟังก์ชันนี้เครื่องคอมพิวเตอร์ต้องทำการต่อ internet ด้วยถึงจะทำงานได้

ตัวอย่างการเรียกใช้ฟังก์ชัน

LineNotify(“DwNQ7NQxrG8wgEaoUKvjgWKh1n08rxxxxxx”,”Hello World” );

ผลที่ได้

ถ้าหากต้องการให้ส่ง sticker หรือ รูปภาพไปด้วยให้ใส่ code ตามด้านล่างนี้

private void LineNotify(string lineToken, string message , int stickerPackageID, int stickerID, string pictureUrl)
{
        try
        {
            string message = System.Web.HttpUtility.UrlEncode(message, Encoding.UTF8);
            var request = (HttpWebRequest)WebRequest.Create("https://notify-api.line.me/api/notify");
            var postData = string.Format("message={0}", message); 
            if (stickerPackageID > 0 && stickerID > 0)
                {
                    var stickerPackageId = string.Format("stickerPackageId={0}", stickerPackageID);
                    var stickerId = string.Format("stickerId={0}", stickerID);
                    postData += "&" + stickerPackageId.ToString() + "&" + stickerId.ToString();
                }
            if (pictureUrl != "")
                {
                    var imageThumbnail = string.Format("imageThumbnail={0}", pictureUrl);
                    var imageFullsize = string.Format("imageFullsize={0}", pictureUrl);
                    postData += "&" + imageThumbnail.ToString() + "&" + imageFullsize.ToString();
                }           
            var data = Encoding.UTF8.GetBytes(postData);            
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = data.Length;
            request.Headers.Add("Authorization", "Bearer " + lineToken);
            var stream = request.GetRequestStream();
            stream.Write(data, 0, data.Length);
            var response = (HttpWebResponse)request.GetResponse();
            var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
    }

พารามิเตอร์ที่ต้องส่งมีดังนี้

lineToken วิธีการขอ Line Token ดูได้จากบทความ การส่ง Line Notify ด้วย Command Line

message คือข้อความที่ต้องการจะส่งผ่าน Line Notify

stickerPackageID กับ stickerID ดูได้จาก sticker_list

pictureUrl คือ url ของรูปภาพที่ต้องการจะส่งผ่าน Line Notify

ตัวอย่างการเรียกใช้ฟังก์ชัน

LineNotify(“DwNQ7NQxrG8wgEaoUKvjgWKh1n08rxxxxxx”,”สวัสดีชาวโลก” , 1 , 10 , “https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png”);

ผลที่ได้

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.