การใช้การให้สิทธิ์ OAuth 2.0

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.