การตั้งค่าโปรเจ็กต์ YouTube

วิธีสร้างโปรเจ็กต์ Google Cloud สำหรับแอปเดสก์ท็อป SSN Standalone โดยไม่ลดความปลอดภัยของคีย์

ภาพรวม

การตั้งค่านี้ใช้ทำอะไร

ใช้วิธีนี้เฉพาะเมื่อต้องการให้แอปเดสก์ท็อปใช้ โควตา YouTube API ของคุณเอง แทนโปรเจ็กต์ร่วมเริ่มต้นของ Social Stream Ninja

สำคัญ: ค่าทั้งสามด้านล่างต้องมาจาก โปรเจ็กต์ Google Cloud เดียวกัน:
  • OAuth Client ID
  • OAuth Client Secret
  • คีย์ API
อย่าสับสนระหว่างสองช่องนี้ใน Google Cloud:
  • ต้นทาง JavaScript ที่อนุญาต (Authorized JavaScript origins) ต้องเป็น origin เท่านั้น ไม่มีเส้นทาง
  • URI เปลี่ยนเส้นทางที่อนุญาต (Authorized redirect URIs) ต้องมีเส้นทางเต็ม /sources/websocket/youtube.html รวมอยู่ด้วย
ขั้นตอนที่ 1

สร้างโปรเจ็กต์

  1. เปิด Google Cloud Console
  2. สร้างโปรเจ็กต์ใหม่หรือเลือกโปรเจ็กต์เดิมที่ใช้เฉพาะงานนี้
  3. เปิดใช้ YouTube Data API v3.
  4. เปิดการตั้งค่าหน้าจอความยินยอม OAuth
  5. หากแอปอยู่ระหว่างทดสอบ ให้เพิ่มบัญชี Google ของคุณเป็นผู้ใช้ทดสอบ
ขั้นตอนที่ 2

สร้างไคลเอนต์ OAuth

  1. สร้างข้อมูลรับรอง
  2. เลือก OAuth client ID.
  3. ใช้ประเภท เว็บแอปพลิเคชัน (Web application).
  4. เพิ่ม origin และ redirect URI ด้านล่างให้ตรงทุกตัว
ช่องข้อมูล ค่า
ต้นทาง JavaScript ที่อนุญาต (Authorized JavaScript origins) http://localhost:8181
http://localhost:8080
URI เปลี่ยนเส้นทางที่อนุญาต (Authorized redirect URIs) http://localhost:8181/sources/websocket/youtube.html
http://localhost:8080/sources/websocket/youtube.html
ขั้นตอนที่ 3

สร้างคีย์ API อย่างปลอดภัย

  1. สร้าง คีย์ API ในโปรเจ็กต์เดียวกัน
  2. เปิดข้อจำกัดของคีย์นั้น
  3. ใน ข้อจำกัด API (API restrictions) ให้จำกัดไว้ที่ YouTube Data API v3 เท่านั้น
  4. อย่าใช้ข้อจำกัด HTTP referrer กับแอปเดสก์ท็อป

หลักการสำหรับแอปเดสก์ท็อป: ข้อจำกัด HTTP referrer ใช้สำหรับหน้าเบราว์เซอร์ ไม่ใช่ขั้นตอนยืนยันตัวตนของแอปเดสก์ท็อปภายในเครื่องนี้

ขั้นตอนที่ 4

วางค่าลงในแอปเดสก์ท็อป

  1. เปิดหน้าแหล่งข้อมูล YouTube ภายในแอปเดสก์ท็อป
  2. วาง OAuth Client ID, OAuth Client Secret, และ คีย์ API.
  3. คลิก บันทึก.
  4. ออกจากระบบหากจำเป็น
  5. คลิก ลงชื่อเข้าใช้ด้วย YouTube (Sign in with YouTube).
  6. เข้าสู่ระบบ Google ให้เสร็จในหน้าต่างเบราว์เซอร์ภายนอก
ผลที่คาดหวัง: หากทุกอย่างตรงกัน การลงชื่อเข้าใช้ Google จะทำงาน และแอปเดสก์ท็อปจะใช้โปรเจ็กต์ YouTube ที่บันทึกไว้แทนโปรเจ็กต์ร่วมเริ่มต้น
ความปลอดภัย

เก็บข้อมูลรับรองให้ปลอดภัย

  • ถือว่า Client Secret และคีย์ API เป็นข้อมูลลับ
  • อย่าใส่ลงในภาพหน้าจอ บันทึกแชต หรือรายงานข้อบกพร่อง
  • หากเผลอเปิดเผยข้อมูลเหล่านี้ ให้เปลี่ยนหรือลบ
  • ใช้โปรเจ็กต์ทดสอบเฉพาะหากกำลังทดลอง
  • ลบโปรเจ็กต์ชั่วคราวเมื่อทดสอบเสร็จ
การแก้ปัญหา

ปัญหาที่พบบ่อย

  • redirect_uri_mismatch: redirect URI ไม่ตรงทุกตัว
  • invalid_client: Client ID และ Client Secret ไม่ตรงกัน
  • quotaExceeded: โปรเจ็กต์คีย์ API ของคุณใช้โควตา YouTube หมดแล้ว
  • ตรวจสอบบัญชีไม่สำเร็จ: ในบิลด์เก่า อาจเกิดขึ้นเมื่อ OAuth และคีย์ API มาจากคนละโปรเจ็กต์