ภาพรวม
การตั้งค่านี้ใช้ทำอะไร
ใช้วิธีนี้เฉพาะเมื่อต้องการให้แอปเดสก์ท็อปใช้ โควตา 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
สร้างโปรเจ็กต์
- เปิด Google Cloud Console
- สร้างโปรเจ็กต์ใหม่หรือเลือกโปรเจ็กต์เดิมที่ใช้เฉพาะงานนี้
- เปิดใช้ YouTube Data API v3.
- เปิดการตั้งค่าหน้าจอความยินยอม OAuth
- หากแอปอยู่ระหว่างทดสอบ ให้เพิ่มบัญชี Google ของคุณเป็นผู้ใช้ทดสอบ
ขั้นตอนที่ 2
สร้างไคลเอนต์ OAuth
- สร้างข้อมูลรับรอง
- เลือก OAuth client ID.
- ใช้ประเภท เว็บแอปพลิเคชัน (Web application).
- เพิ่ม origin และ redirect URI ด้านล่างให้ตรงทุกตัว
| ช่องข้อมูล | ค่า |
|---|---|
| ต้นทาง JavaScript ที่อนุญาต (Authorized JavaScript origins) | http://localhost:8181http://localhost:8080 |
| URI เปลี่ยนเส้นทางที่อนุญาต (Authorized redirect URIs) | http://localhost:8181/sources/websocket/youtube.htmlhttp://localhost:8080/sources/websocket/youtube.html |
ขั้นตอนที่ 3
สร้างคีย์ API อย่างปลอดภัย
- สร้าง คีย์ API ในโปรเจ็กต์เดียวกัน
- เปิดข้อจำกัดของคีย์นั้น
- ใน ข้อจำกัด API (API restrictions) ให้จำกัดไว้ที่ YouTube Data API v3 เท่านั้น
- อย่าใช้ข้อจำกัด HTTP referrer กับแอปเดสก์ท็อป
หลักการสำหรับแอปเดสก์ท็อป: ข้อจำกัด HTTP referrer ใช้สำหรับหน้าเบราว์เซอร์ ไม่ใช่ขั้นตอนยืนยันตัวตนของแอปเดสก์ท็อปภายในเครื่องนี้
ขั้นตอนที่ 4
วางค่าลงในแอปเดสก์ท็อป
- เปิดหน้าแหล่งข้อมูล YouTube ภายในแอปเดสก์ท็อป
- วาง OAuth Client ID, OAuth Client Secret, และ คีย์ API.
- คลิก บันทึก.
- ออกจากระบบหากจำเป็น
- คลิก ลงชื่อเข้าใช้ด้วย YouTube (Sign in with YouTube).
- เข้าสู่ระบบ Google ให้เสร็จในหน้าต่างเบราว์เซอร์ภายนอก
ผลที่คาดหวัง: หากทุกอย่างตรงกัน การลงชื่อเข้าใช้ Google จะทำงาน และแอปเดสก์ท็อปจะใช้โปรเจ็กต์ YouTube ที่บันทึกไว้แทนโปรเจ็กต์ร่วมเริ่มต้น
ความปลอดภัย
เก็บข้อมูลรับรองให้ปลอดภัย
- ถือว่า Client Secret และคีย์ API เป็นข้อมูลลับ
- อย่าใส่ลงในภาพหน้าจอ บันทึกแชต หรือรายงานข้อบกพร่อง
- หากเผลอเปิดเผยข้อมูลเหล่านี้ ให้เปลี่ยนหรือลบ
- ใช้โปรเจ็กต์ทดสอบเฉพาะหากกำลังทดลอง
- ลบโปรเจ็กต์ชั่วคราวเมื่อทดสอบเสร็จ
การแก้ปัญหา
ปัญหาที่พบบ่อย
redirect_uri_mismatch: redirect URI ไม่ตรงทุกตัวinvalid_client: Client ID และ Client Secret ไม่ตรงกันquotaExceeded: โปรเจ็กต์คีย์ API ของคุณใช้โควตา YouTube หมดแล้ว- ตรวจสอบบัญชีไม่สำเร็จ: ในบิลด์เก่า อาจเกิดขึ้นเมื่อ OAuth และคีย์ API มาจากคนละโปรเจ็กต์