บทเรียน

LINE API Integration: บทเรียนนักพัฒนาฉบับสมบูรณ์

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

LineBot.pro Team20 นาทีอ่าน
LINE API Integration: บทเรียนนักพัฒนาฉบับสมบูรณ์

#ภาพรวม LINE APIs

LINE ให้ APIs หลายตัวสำหรับความต้องการ integration ต่างๆ:

APIวัตถุประสงค์Use Case
Messaging APIส่ง/รับข้อความChatbots, notifications
LINE LoginAuthentication ผู้ใช้Single sign-on
LIFF SDKWeb apps ใน LINEMini-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

  1. ไปที่ developers.line.biz
  2. เข้าสู่ระบบด้วยบัญชี LINE ของคุณ
  3. ยอมรับข้อตกลงนักพัฒนา

#ขั้นตอนที่ 2: สร้าง Provider

Provider แทนบริษัทหรือโปรเจกต์ของคุณ:

diagram
Provider: "My Company"
├── Channel: Messaging API (Bot)
├── Channel: LINE Login
└── Channel: LIFF App

#ขั้นตอนที่ 3: สร้าง Channels

สำหรับแต่ละประเภท integration สร้าง channel ที่เหมาะสม

#ขั้นตอนที่ 4: รวบรวม Credentials

คุณต้องการ credentials เหล่านี้:

Credentialหาได้ที่ไหนใช้สำหรับ
Channel IDBasic settingsทุก APIs
Channel SecretBasic settingsตรวจสอบ signature
Channel Access TokenMessaging API tabAPI calls
LIFF IDLIFF tabLIFF SDK

#Messaging API เชิงลึก

#ภาพรวม Architecture

diagram
ผู้ใช้ → LINE App → LINE Platform → Webhook ของคุณ → Server ของคุณ
                                       ↓
                       Reply/Push → LINE Platform → ผู้ใช้

#ตั้งค่า Server ของคุณ (Node.js)

javascript
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

  1. สร้าง LIFF app ใน LINE Developers Console
  2. เพิ่ม endpoint URL ของคุณ
  3. รวม LIFF SDK ในแอปของคุณ
html
<script src="https://static.line-scdn.net/liff/edge/2/sdk.js"></script>

เรียนรู้เพิ่มเติมเกี่ยวกับ LIFF ใน คู่มือพัฒนา LIFF

#การ Implement Webhook

#ประเภท Event

EventTriggered เมื่อ
messageผู้ใช้ส่งข้อความ
followผู้ใช้เพิ่ม bot ของคุณ
unfollowผู้ใช้บล็อก bot ของคุณ
postbackผู้ใช้แตะปุ่ม
joinBot เข้าร่วมกลุ่ม
leaveBot ออกจากกลุ่ม

#Best Practices และความปลอดภัย

#Security Checklist

  1. ตรวจสอบ webhook signatures เสมอ
  2. ใช้ HTTPS สำหรับทุก endpoints
  3. เก็บ secrets ใน environment variables
  4. Implement rate limiting
  5. 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

แหล่งข้อมูลที่เกี่ยวข้อง:

บริการที่เกี่ยวข้อง

LineBot.pro

พร้อม Automate ธุรกิจ LINE ของคุณหรือยัง?

เริ่มทำให้การสื่อสาร LINE ของคุณเป็นอัตโนมัติกับ LineBot.pro วันนี้