การส่งข้อความไปยังไลน์ด้วยบริการ LINE Notify API
การส่งข้อความไปยังไลน์บนเว็บไซต์ผ่านบริการ API ของ LINE Notify ไม่ได้ยากอย่างที่คิด ตัวอย่างนี้จะเป็นการสร้างคลาสสำหรับการส่งข้อความด้วยคชสาร ซึ่งมีใช้งานอยู่ใน GCMS
การส่งข้อความไปยัง Line ด้วยบริการของ LINE Notify ก็มีข้อจำกัดที่สำคัญคือ
การใช้งาน ก่อนอื่นเราต้องเข้าไปขอ Token จากบริการของ LINE Notify ก่อน ซึ่งถ้าใครขอไม่เป็นคลิกที่นี่เลย (การขอ Token สำหรับ LINE Notify) แล้วนำ Token ที่ได้มากรอกแทนที่ access_token_here ในโค้ด PHP ด้านล่าง เสร็จแล้ว Save ไฟล์ไปที่ Gcms/Line.php ซึ่งตามตัวอย่างนี้จะได้เป็นคลาส \Gcms\Line
การใช้งานก็แสนง่ายเลยครับ เขียนคำสั่งสั้นๆ เพื่อส่งข้อความได้เลย
ในกรณีที่มีข้อผิดพลาดในการส่ง ข้อความแจ้งข้อผิดพลาดจะถูกส่งกลับมาที่ $error แต่หากการส่งข้อความสำเร็จ ค่าที่ถูกส่งกลับมาจะเป็นข้อความว่าง
ลองนำไปประยุกต์ใช้กันดูนะครับ
การส่งข้อความไปยัง Line ด้วยบริการของ LINE Notify ก็มีข้อจำกัดที่สำคัญคือ
- สามารถส่งข้อความไปยังตัวเองเท่านั้น หรือ
- สามารถส่งไปยังกลุ่มที่เราเป็นสมาชิกอยู่
การใช้งาน ก่อนอื่นเราต้องเข้าไปขอ Token จากบริการของ LINE Notify ก่อน ซึ่งถ้าใครขอไม่เป็นคลิกที่นี่เลย (การขอ Token สำหรับ LINE Notify) แล้วนำ Token ที่ได้มากรอกแทนที่ access_token_here ในโค้ด PHP ด้านล่าง เสร็จแล้ว Save ไฟล์ไปที่ Gcms/Line.php ซึ่งตามตัวอย่างนี้จะได้เป็นคลาส \Gcms\Line
<?php
/**
* @filesource Gcms/Line.php
* @link http://www.kotchasan.com/
* @copyright 2016 Goragod.com
* @license http://www.kotchasan.com/license/
*/
namespace Gcms;
use \Kotchasan\Curl;
/**
* LINE Notify
*
* @author Goragod Wiriya <admin@goragod.com>
*
* @since 1.0
*/
class Line
{
/**
* LINE Notify Access Token from https://notify-bot.line.me/th/
*
* @var string
*/
protected $line_api_key = 'access_token_here';
/**
* เมธอดส่งข้อความไปยังไลน์
*
* @param string $message ข้อความที่จะส่ง
* @return string คืนค่าข้อความว่างถ้าสำเร็จ หรือ คืนค่าข้อความผิดพลาด
*/
public static function send($message)
{
if ($message != '') {
$ch = new Curl;
$ch->setHeaders(array(
'Authorization' => 'Bearer '.$this->line_api_key
));
$result = $ch->post('https://notify-api.line.me/api/notify', array('message' => $message));
if ($ch->error()) {
return $ch->errorMessage();
} else {
$result = json_decode($result, true);
if ($result['status'] != 200) {
return $result['message'];
}
}
}
return '';
}
}
การใช้งานก็แสนง่ายเลยครับ เขียนคำสั่งสั้นๆ เพื่อส่งข้อความได้เลย
$error = \Gcms\Line::send('ทดสอบส่งข้อความ');
ในกรณีที่มีข้อผิดพลาดในการส่ง ข้อความแจ้งข้อผิดพลาดจะถูกส่งกลับมาที่ $error แต่หากการส่งข้อความสำเร็จ ค่าที่ถูกส่งกลับมาจะเป็นข้อความว่าง
ลองนำไปประยุกต์ใช้กันดูนะครับ