LINE API Integration: บทเรียนนักพัฒนาฉบับสมบูรณ์
เรียนรู้ LINE Messaging API, Login API และ LIFF SDK บทเรียนฉบับสมบูรณ์พร้อมตัวอย่างโค้ด Node.js, Python และ PHP สร้าง LINE integrations ระดับ production

#ภาพรวม LINE APIs
LINE ให้ APIs หลายตัวสำหรับความต้องการ integration ต่างๆ:
| API | วัตถุประสงค์ | Use Case |
|---|---|---|
| Messaging API | ส่ง/รับข้อความ | Chatbots, notifications |
| LINE Login | Authentication ผู้ใช้ | Single sign-on |
| LIFF SDK | Web apps ใน LINE | Mini-apps, forms |
| Notify API | การแจ้งเตือนง่ายๆ | Alerts, monitoring |
| Pay API | การชำระเงิน | E-commerce |
#เลือก API ที่เหมาะสม
- สร้าง chatbot? → Messaging API
- เพิ่ม social login? → LINE Login
- สร้างประสบการณ์ใน LINE? → LIFF SDK
- แค่ส่ง alerts? → LINE Notify
บทเรียนนี้ครอบคลุมสามอันที่พบบ่อยที่สุด: Messaging API, LINE Login และ LIFF SDK
#การตั้งค่านักพัฒนา
#ขั้นตอนที่ 1: สร้างบัญชี LINE Developers
- ไปที่ developers.line.biz
- เข้าสู่ระบบด้วยบัญชี LINE ของคุณ
- ยอมรับข้อตกลงนักพัฒนา
#ขั้นตอนที่ 2: สร้าง Provider
Provider แทนบริษัทหรือโปรเจกต์ของคุณ:
Provider: "My Company"
├── Channel: Messaging API (Bot)
├── Channel: LINE Login
└── Channel: LIFF App
#ขั้นตอนที่ 3: สร้าง Channels
สำหรับแต่ละประเภท integration สร้าง channel ที่เหมาะสม
#ขั้นตอนที่ 4: รวบรวม Credentials
คุณต้องการ credentials เหล่านี้:
| Credential | หาได้ที่ไหน | ใช้สำหรับ |
|---|---|---|
| Channel ID | Basic settings | ทุก APIs |
| Channel Secret | Basic settings | ตรวจสอบ signature |
| Channel Access Token | Messaging API tab | API calls |
| LIFF ID | LIFF tab | LIFF SDK |
#Messaging API เชิงลึก
#ภาพรวม Architecture
ผู้ใช้ → LINE App → LINE Platform → Webhook ของคุณ → Server ของคุณ
↓
Reply/Push → LINE Platform → ผู้ใช้
#ตั้งค่า Server ของคุณ (Node.js)
const express = require('express');
const crypto = require('crypto');
const axios = require('axios');
const app = express();
app.use(express.json());
const CHANNEL_SECRET = process.env.LINE_CHANNEL_SECRET;
const CHANNEL_ACCESS_TOKEN = process.env.LINE_CHANNEL_ACCESS_TOKEN;
// Signature verification middleware
function validateSignature(req, res, next) {
const signature = req.headers['x-line-signature'];
const body = JSON.stringify(req.body);
const hash = crypto
.createHmac('SHA256', CHANNEL_SECRET)
.update(body)
.digest('base64');
if (hash !== signature) {
return res.status(401).send('Invalid signature');
}
next();
}
// Webhook endpoint
app.post('/webhook', validateSignature, async (req, res) => {
const events = req.body.events;
for (const event of events) {
await handleEvent(event);
}
res.status(200).send('OK');
});
app.listen(3000);
#ประเภทข้อความ
LINE รองรับประเภทข้อความหลากหลาย:
- Text Message: ข้อความตัวอักษรธรรมดา
- Image Message: ส่งรูปภาพ
- Flex Message: Layout ที่กำหนดเอง สำหรับ cards, carousels
#Push vs Reply Messages
| ประเภท | ค่าใช้จ่าย | ใช้เมื่อไหร่ |
|---|---|---|
| Reply | ฟรี | ตอบกลับ events ของผู้ใช้ |
| Push | เสียเงิน | ข้อความ proactive |
#LINE Login Integration
#OAuth 2.0 Flow
1. ผู้ใช้คลิก "Login with LINE"
2. Redirect ไปยัง LINE authorization URL
3. ผู้ใช้อนุญาต
4. LINE redirect กลับพร้อม authorization code
5. แลก code เป็น access token
6. Fetch user profile ด้วย token
#การพัฒนา LIFF SDK
#LIFF คืออะไร?
LIFF (LINE Front-end Framework) ให้คุณสร้าง web apps ที่ทำงานใน LINE:
- เข้าถึง LINE user profile โดยไม่ต้อง login
- ส่งข้อความจาก web app
- แชร์เนื้อหาไปยัง LINE chats
- ปิด app และกลับไปยัง chat
#ตั้งค่า LIFF
- สร้าง LIFF app ใน LINE Developers Console
- เพิ่ม endpoint URL ของคุณ
- รวม LIFF SDK ในแอปของคุณ
<script src="https://static.line-scdn.net/liff/edge/2/sdk.js"></script>
เรียนรู้เพิ่มเติมเกี่ยวกับ LIFF ใน คู่มือพัฒนา LIFF
#การ Implement Webhook
#ประเภท Event
| Event | Triggered เมื่อ |
|---|---|
| message | ผู้ใช้ส่งข้อความ |
| follow | ผู้ใช้เพิ่ม bot ของคุณ |
| unfollow | ผู้ใช้บล็อก bot ของคุณ |
| postback | ผู้ใช้แตะปุ่ม |
| join | Bot เข้าร่วมกลุ่ม |
| leave | Bot ออกจากกลุ่ม |
#Best Practices และความปลอดภัย
#Security Checklist
- ตรวจสอบ webhook signatures เสมอ
- ใช้ HTTPS สำหรับทุก endpoints
- เก็บ secrets ใน environment variables
- Implement rate limiting
- Validate user input ทั้งหมด
#Performance Tips
- ใช้ reply messages เมื่อเป็นไปได้ (ฟรี)
- Batch push messages (สูงสุด 500 ต่อ request)
- Cache user profiles (หลีกเลี่ยง API calls ซ้ำ)
- Implement error handling ที่เหมาะสม
ต้องการความช่วยเหลือกับ LINE API integration?
ลอง LineBot.pro สำหรับการสร้าง chatbot แบบไม่ต้องเขียนโค้ด หรือติดต่อ ทีมพัฒนา LINE ของเราสำหรับโปรเจกต์ integration แบบ custom
แหล่งข้อมูลที่เกี่ยวข้อง:
บริการที่เกี่ยวข้อง
พร้อม Automate ธุรกิจ LINE ของคุณหรือยัง?
เริ่มทำให้การสื่อสาร LINE ของคุณเป็นอัตโนมัติกับ LineBot.pro วันนี้