เชื่อมต่อ YouTube Live
คู่มือนี้พาคุณตั้งค่าเชื่อมต่อ YouTube Live Chat เพื่อรับ Super Chat (เข้าคิวเป็น donation) และ regular chat (เข้า Live Chat feed) แบบ realtime
YouTube ต้องใช้ OAuth 2.0 ซึ่งหมายความว่าคุณต้องสร้าง Project ของตัวเองใน Google Cloud Console เพื่อขอ Client ID + Secret มาก่อน — ใช้ครั้งเดียว ใช้ตลอด
สิ่งที่ต้องเตรียม
- Google Account (อันที่ใช้ live stream)
- เข้าถึง Google Cloud Console
- ช่อง YouTube ที่ตั้งค่า Live Streaming ไว้แล้ว (สำหรับทดสอบจริง)
ขั้นที่ 1 — สร้าง OAuth Credentials ใน Google Cloud Console
- เข้า console.cloud.google.com แล้วสร้าง Project ใหม่ (หรือใช้ของเดิม)
- ไปที่ APIs & Services → Library → ค้นหา YouTube Data API v3 → กด Enable
- กลับไปที่ APIs & Services → Credentials
- กด + Create Credentials → OAuth client ID → เลือก type เป็น Desktop app
- ตั้งชื่อ (เช่น "Mor9an") → Create
- คัดลอก Client ID และ Client Secret ที่ได้
:::tip OAuth Consent Screen
ครั้งแรกอาจต้องตั้ง OAuth consent screen ก่อน — เลือก External, ใส่ชื่อแอป, email, scope youtube.readonly ก็พอ ถ้ายังเป็น Testing mode ให้เพิ่ม Google account ของคุณใน Test users
:::
ขั้นที่ 2 — วาง Client ID / Secret ในแอป
- ในแอป ไปที่ Settings → Connections
- เลื่อนหาส่วน YouTube
- วาง Client ID และ Client Secret ในช่องที่ตรงกัน
- กด Save / บันทึก
ขั้นที่ 3 — กด Connect YouTube และอนุมัติ OAuth
- กดปุ่ม Connect YouTube
- เบราว์เซอร์จะเปิด popup ของ Google ขึ้นมา
- ล็อกอินด้วย Google Account ที่ใช้ live stream
- กด Allow เพื่ออนุมัติให้แอปเข้าถึง YouTube data
- หน้าจอจะเด้งกลับเข้าแอป — status dot ของ YouTube ควรเปลี่ยนเป็น เขียว
ขั้นที่ 4 — (ทางเลือก) เปิด Test Mode
ในส่วน YouTube มี toggle Test Mode — เปิดไว้จะทำให้ chat ปกติทุกข้อความ ถูกปฏิบัติเหมือน donation จำนวน 0 บาท เข้าคิวและเล่น TTS เหมือน Super Chat
เหมาะสำหรับ:
- ทดสอบ pipeline ก่อนสตรีมจริง
- ใช้กับห้อง dev / แชทเล็ก ๆ ที่อยากให้แอปอ่านทุกข้อความ
:::warning ปิด Test Mode ตอน live จริง ถ้าไม่ปิด แอปจะอ่านทุกข้อความในแชทผ่าน TTS — สิ้นเปลือง quota TTS และน่ารำคาญสำหรับผู้ชม :::
Tips & Troubleshooting
- OAuth ขึ้น "App is not verified": ถ้าโปรเจกต์ยังเป็น Testing mode ให้กด Advanced → Go to (unsafe) เพื่อ continue ได้ หรือเพิ่มตัวเองเป็น Test User
- เชื่อมแล้วแต่ไม่ได้ chat: YouTube Live Chat ต้องกำลัง broadcasting จริง ในขณะนั้นเท่านั้น — เปิด live stream แล้วลองใหม่
- Quota หมด: YouTube Data API มี quota รายวัน (default 10,000 units) ถ้า hit limit ให้ขอเพิ่มใน Cloud Console
- Client Secret หาย: กลับไป Cloud Console → Credentials → กด download icon ที่ OAuth client ID เพื่อดูใหม่