รู้จักกับ LINE Notify
LINE Notify เป็นบริการของทาง LINE เป็นบริการและช่องทางที่ถูกต้อง ท่านสามารถส่งความ การแจ้งเตือนต่าง ๆ ไปยังแอคเค้าของท่านเองได้ ผ่านการใช้ API ซึ่งเรียกผ่าน HTTP POST แบบง่าย ๆ
ข้อจำกัดของ LINE Notify คือ สามารถส่งแจ้งเตือนได้เฉพาะผู้ที่ขอใช้ หรือกลุ่มที่ผู้ขอใช้เป็นสมาชิกเท่านั้น ไม่สามารถส่งข้อความเข้าห้องสนทนาของเพื่อน ๆ ได้ หากต้องการให้สามารถส่งข้อความหาใครก็ได้ ท่านต้องใช้ LINE Bot API แทน
เพิ่ม LINE Notify เป็นเพื่อน
ก่อนที่จะใช้งาน API และส่งการแจ้งเตือน ท่านต้องเพิ่ม LINE Notify เป็นเพื่อนก่อน โดยสแกน QR Code ด้านล่างนี้
การขอ Access Token
ในการใช้งาน API ในทุก ๆ บริการ จะมีสิ่งที่เรียกว่า Access Token ไว้สำหรับเป็นรหัสที่ใช้ตอนจะเข้าใช้งาน API โดยรหัสนี้จะเป็นข้อความแทนอีเมล์ และพาสเวิคของเรา ดังนั้นหาก Access Token ถูกเปิดเผย เรายังสามารถใช้งานแอ๊กเค้าได้ปกติ (แต่หากรู้ตัวว่า Access Token ถูกเปิดเผย ควรยกเลิก แล้วขอ Access Token ใหม่ทันที)
เข้าไปที่หน้าเว็บ https://notify-bot.line.me/my/ จากนั้นระบบจะให้เราล็อกอินด้วยแอ๊คเค้า LINE โดยกรอกอีเมล์ และรหัสผ่านที่ได้ตั้งไว้ลงไป
เมื่อล็อกอินสำเร็จแล้ว ให้เลื่อนลงมาด้านล่าง จะพบ ออก Access Token (สำหรับผู้พัฒนา) ให้กดปุ่ม ออก Token
พอมาถึงส่วนนี้ให้เราทำความเข้าใจก่อนว่า เมื่อเราส่งข้อความไปแล้ว ข้อความที่ขึ้นจะปรากฏในรูปแบบ
[ชื่อ Token]: [ข้อความ]
ดังนั้นในช่องที่ 1 สามารถกรอกเป็นอะไรก็ได้ และสิ่งที่กรอกนั้นจะติดไปพร้อมกับข้อความเสมอ เช่น หากกรอกว่า notiเมื่อใช้ API ส่งข้อความว่า “สวัสดี” ข้อความจะขึ้นว่า “noti:สวัสดี”
ในช่องที่ 2 จะให้เลือกว่าเราจะส่งข้อความเข้าไปในกลุ่มไหน หรือส่งให้ตัวเองเท่านั้น
เมื่อกรอกครบแล้ว ให้กดปุ่ม ออก Token
เมื่อกดปุ่มแล้ว ออก token แล้วจะได้ รหัส token เราจะนำมาใช้ใน โปรแกรมของเรา
*** ทาง line ได้เพิ่มส่ง สติ๊กเกอร์ได้แล้ว สามารถเพิ่ม Parameter (stickerPackageId และ stickerId) Package ID.
Sticker List. โด้ดสติ๊กเกอร์ครับ ***
โด้ดตัวอย่างการนำมาใช้ ทดลองส่งข้อข้อความไปที่ LINE ผ่าน C#
โด้ดตัวอย่างเป็นการใช้ http post ในการ ส่งข้อความ การทำคือ ส่งข้อความไปที่ LINE ด้วย HTTP POST -> LINE ทำการใส่เข้ามือถือเราอีกที การส่งโดยใช้ token ที่ได้มาใส่ไปใน header ข้อความที่เราจะส่ง message=xxx
var request = (HttpWebRequest)WebRequest.Create("https://notify-api.line.me/api/notify"); var postData = string.Format("message={0}","สวัสดี"); 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 Un2LudBajEKlJs8I7qbWIMkl3f2WjGH56YuDJ9xxxxx"); using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
ตัวอย่าง Code php
<?php $chOne = curl_init(); curl_setopt( $chOne, CURLOPT_URL, "https://notify-api.line.me/api/notify"); // SSL USE curl_setopt( $chOne, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt( $chOne, CURLOPT_SSL_VERIFYPEER, 0); //POST curl_setopt( $chOne, CURLOPT_POST, 1); // Message curl_setopt( $chOne, CURLOPT_POSTFIELDS, "message=สวัสดี"); //ถ้าต้องการใส่รุป ให้ใส่ 2 parameter imageThumbnail และimageFullsize //curl_setopt( $chOne, CURLOPT_POSTFIELDS, "message=hi&imageThumbnail=http://www.wisadev.com/wp-content/uploads/2016/08/cropped-wisadevLogo.png&imageFullsize=http://www.wisadev.com/wp-content/uploads/2016/08/cropped-wisadevLogo.png"); // follow redirects curl_setopt( $chOne, CURLOPT_FOLLOWLOCATION, 1); //ADD header array $headers = array( 'Content-type: application/x-www-form-urlencoded', 'Authorization: Bearer Un2LudBajEKlJs8I7qbWIMkl3f2WjGH56Yxxx9yU9zT', ); curl_setopt($chOne, CURLOPT_HTTPHEADER, $headers); //RETURN curl_setopt( $chOne, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec( $chOne ); //Check error if(curl_error($chOne)) { echo 'error:' . curl_error($chOne); } else { $result_ = json_decode($result, true); echo "status : ".$result_['status']; echo "message : ". $result_['message']; } //Close connect curl_close( $chOne ); ?>
ตัวอย่าง php upload image จากเครื่อง
<?php $token = 'OphyIzcTddBnUoMJyKWOEN1oeqEGmkEzW6G573Jxxxx'; $file_name_with_full_path = 'D:\\pexels-photo-432797.jpeg'; if (function_exists('curl_file_create')) { $cFile = curl_file_create($file_name_with_full_path); } else { $cFile = '@'.realpath($file_name_with_full_path); } $post = array('message' => 'สวัสดี','imageFile'=> $cFile); print_r(LineNotify::PushMessage($token,$post)); class LineNotify { public function PushMessage($token, $body) { $result_ = ""; $chOne = curl_init(); curl_setopt( $chOne, CURLOPT_URL, "https://notify-api.line.me/api/notify"); // SSL USE curl_setopt( $chOne, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt( $chOne, CURLOPT_SSL_VERIFYPEER, 0); //POST curl_setopt( $chOne, CURLOPT_POST, 1); curl_setopt( $chOne, CURLOPT_POSTFIELDS, $body); curl_setopt( $chOne, CURLOPT_FOLLOWLOCATION, 1); //ADD header array $headers = array( 'Content-type: multipart/form-data', 'Authorization: Bearer '.$token, ); curl_setopt($chOne, CURLOPT_HTTPHEADER, $headers); //RETURN curl_setopt( $chOne, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec( $chOne ); //Check error if(curl_error($chOne)) { $error_ = array('status' => "Error",'massage' => curl_error($chOne)); $result_ = json_decode($error_, true); } else { $result_ = json_decode($result, true); } //Close connect curl_close( $chOne ); return $result_; } } ?>
You must be logged in to post a comment.