ทำแจ้งเตือน LINE notify ด้วย PHP
พอดีมีทำระบบเล็กๆ ใช้ LINE notify แจ้งเตือนพนักงานภายในบริษัท เลยมาบันทึกวิธีทำไว้ โดยลักษณะการทำงานก็คือใช้ PHP ยิงเข้า API ของ LINE เพื่อส่งข้อความเข้า Group LINE ที่เราสร้างขึ้น เพื่อไม่ให้เป็นการเสียเวลามาเริ่มกันเลย
สร้าง Token
ก่อนอื่นให้เข้าไปที่ https://notify-bot.line.me/th จากนั้น Login เข้าสู่ระบบ > เลือกเมนู “หน้าของฉัน”
เลื่อนลงไปด้านล่างจะมีส่วน ออก Access Token ของนักพัฒนา ให้กดปุ่ม “ออก Token”
ให้ใส่ชื่อ Token (จะแสดงเมื่อมีการแจ้งเตือน) และเลือกห้องแชทที่ต้องการส่งข้อความแจ้งเตือน
จากนั้นกดปุ่ม “ออก Token” เพื่อรับ Token key
ระบบจะสร้าง token ให้เรานำไปใช้งานต่อไป อย่าลืม ! Copy Token เก็บไว้ก่อนที่จะปิดหน้าต่างนะครับ เพราะจะกลับมาดูอีกครั้งไม่ได้แล้ว นอกเสียจากจะขอ Token ใหม่อีกรอบ
จากนั้นให้เราเชิญ LINE Notify เข้าไปในกลุ่มที่เราได้เลือกไว้ในขั้นตอนขอ Token ที่ผ่านมาก่อนหน้านั้น
ทดสอบส่งข้อความด้วย Postman
Postman เป็นเครื่องมือไว้ทดสอบเรียก API ในบล็อกนี้จะไม่อธิบายเรื่อง Postman ใครไม่รู้จักว่าคืออะไรใช้งานอย่างไรลองดูได้ที่ https://www.postman.com/ เรามาเริ่มทดสอบกันเลยว่า Token ที่ได้มาใช้งานได้ไหม โดยตั้งค่า Postman ดังนี้
- Method เลือกเป็นแบบ post
- ระบุ Request Url ไปที่ https://notify-api.line.me/api/notify
- แถบ Authorization เลือก Type เป็น Bearer Token แล้วใส่ Token ที่เราได้รับมา
- แถบ Body เลือก Content-type เป็น application/x-www-form-urlencoded และสร้าง key ชื่อว่า message ส่วน Value คือข้อความที่จะส่ง
ตั้งค่าทุกอย่างเสร็จเรียบร้อยแล้ว ให้กดปุ่ม Send ถ้าผลลัพธ์ออกมาเป็น status 200 ตามรูปด้านบน และเมื่อดูในกลุ่ม Line จะมีข้อความแจ้งเตือนเข้ามาดังรูปด้านล่าง แสดงว่าใช้งานได้ปกติ
ทดสอบส่งข้อความด้วย PHP
ตัวโค้ดไม่มีอะไรมากใช้ curl เรียก API ปกติทั่วไป โดยสามารถนำโค้ดด้านล่างไปใช้ได้เลย เพียงใส่ Token และข้อความ ก็พร้อมทดสอบครับ
$url = 'https://notify-api.line.me/api/notify';
$token = 'ใส่ token ที่นี่';
$headers = [
'Content-Type: application/x-www-form-urlencoded',
'Authorization: Bearer '.$token
];
$fields = 'message=ใส่ข้อความที่นี่';
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec( $ch );
curl_close( $ch );
var_dump($result);
$result = json_decode($result,TRUE);
ก็ขอจบบล็อกไว้เพียงเท่านี้ครับ หวังว่าคงมีประโยชน์ครับ