YouTube Data API รองรับโปรโตคอล OAuth 2.0 สำหรับการให้สิทธิ์เข้าถึงข้อมูลส่วนตัวของผู้ใช้ รายการด้านล่างอธิบายแนวคิดหลักๆ ของ OAuth 2.0
-
เมื่อผู้ใช้พยายามใช้ฟังก์ชันในแอปพลิเคชันของคุณเป็นครั้งแรก ซึ่งกำหนดให้ผู้ใช้ลงชื่อเข้าใช้ Google Account or YouTube account แอปพลิเคชันของคุณจะเริ่มกระบวนการให้สิทธิ์ OAuth 2.0
-
แอปพลิเคชันของคุณนำผู้ใช้ไปยังเซิร์ฟเวอร์การให้สิทธิ์ของ Google ลิงก์ไปยังหน้าดังกล่าวจะระบุ
scope
ของการเข้าถึงที่แอปพลิเคชันของคุณขอสำหรับบัญชีผู้ใช้scope
จะระบุทรัพยากรที่แอปพลิเคชันสามารถดึงข้อมูล แทรก อัปเดต หรือลบได้เมื่อทำหน้าที่เป็นผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว -
หากผู้ใช้ยินยอมที่จะให้สิทธิ์แอปพลิเคชันของคุณในการเข้าถึงทรัพยากรเหล่านั้น Google จะส่งคืนโทเค็นไปยังแอปพลิเคชันของคุณ โดยระบบจะตรวจสอบโทเค็นหรือแลกเปลี่ยนโทเค็นเป็นโทเค็นประเภทอื่น ทั้งนี้ขึ้นอยู่กับประเภทของแอปพลิเคชัน
ตัวอย่างเช่น เว็บแอปพลิเคชันฝั่งเซิร์ฟเวอร์จะแลกเปลี่ยนโทเค็นที่แสดงผลเป็นโทเค็นการเข้าถึงและโทเค็นการรีเฟรช โทเค็นการเข้าถึงช่วยให้แอปพลิเคชันสามารถให้สิทธิ์คําขอในนามของผู้ใช้ และโทเค็นการรีเฟรชช่วยให้แอปพลิเคชันเรียกข้อมูลโทเค็นการเข้าถึงใหม่ได้เมื่อโทเค็นการเข้าถึงเดิมหมดอายุ
สำคัญ: หากต้องการใช้การให้สิทธิ์ OAuth 2.0 คุณต้องรับข้อมูลเข้าสู่ระบบการให้สิทธิ์ในคอนโซล Google API
โปรดดูรายละเอียดเพิ่มเติมที่คำแนะนำการให้สิทธิ์ OAuth 2.0
ขั้นตอน OAuth 2.0
Google APIs รองรับกรณีการใช้งาน OAuth 2.0 หลายกรณี ดังนี้
- ขั้นตอนสำหรับเว็บแอปฝั่งเซิร์ฟเวอร์รองรับเว็บแอปพลิเคชันที่จัดเก็บข้อมูลถาวรได้อย่างปลอดภัย
- ขั้นตอนของเว็บแอป JavaScript รองรับแอปพลิเคชัน JavaScript ที่ทำงานในเบราว์เซอร์
- ขั้นตอนของแอปบนอุปกรณ์เคลื่อนที่และเดสก์ท็อปรองรับแอปพลิเคชันที่ติดตั้งในอุปกรณ์ เช่น โทรศัพท์หรือคอมพิวเตอร์
- ขั้นตอนการลงชื่อเข้าใช้สำหรับทีวีและอุปกรณ์อินพุตที่จำกัดรองรับอุปกรณ์ที่มีความสามารถในการป้อนข้อมูลแบบจำกัด เช่น คอนโซลเกมและกล้องวิดีโอ
- ขั้นตอน OAuth 2.0 สำหรับขั้นตอนของบัญชีบริการรองรับการโต้ตอบแบบเซิร์ฟเวอร์ต่อเซิร์ฟเวอร์ที่ไม่เข้าถึงข้อมูลผู้ใช้
แต่ YouTube Data API ไม่รองรับขั้นตอนนี้
Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate a
NoLinkedYouTubeAccount
error.