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

YouTube Data API รองรับโปรโตคอล OAuth 2.0 สําหรับการให้สิทธิ์เข้าถึงข้อมูลส่วนตัวของผู้ใช้ รายการด้านล่างนี้อธิบายแนวคิดหลักของ OAuth 2.0

  • เมื่อผู้ใช้พยายามใช้ฟังก์ชันในแอปพลิเคชันของคุณซึ่งกําหนดให้ผู้ใช้ต้องเข้าสู่ระบบ Google Account or YouTube account เป็นครั้งแรก แอปพลิเคชันจะเริ่มกระบวนการให้สิทธิ์ OAuth 2.0

  • แอปพลิเคชันของคุณนําผู้ใช้ไปยังเซิร์ฟเวอร์การให้สิทธิ์ของ Google ลิงก์ไปยังหน้าดังกล่าวจะระบุ scope ของสิทธิ์เข้าถึงที่แอปพลิเคชันขอสําหรับบัญชีของผู้ใช้ scope ระบุทรัพยากรที่แอปพลิเคชันของคุณสามารถเรียก แทรก อัปเดต หรือลบเมื่อทําหน้าที่เป็นผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

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

    เช่น เว็บแอปพลิเคชันฝั่งเซิร์ฟเวอร์จะแลกเปลี่ยนโทเค็นที่แสดงผลสําหรับโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรช โทเค็นเพื่อการเข้าถึงช่วยให้แอปพลิเคชันให้สิทธิ์คําขอในนามของผู้ใช้ได้ และโทเค็นการรีเฟรชช่วยให้แอปพลิเคชันเรียกโทเค็นเพื่อการเข้าถึงใหม่ได้เมื่อโทเค็นเพื่อการเข้าถึงเดิมหมดอายุ

ข้อสําคัญ: คุณต้องรับข้อมูลเข้าสู่ระบบการให้สิทธิ์ในคอนโซล Google API จึงจะใช้การให้สิทธิ์ OAuth 2.0 ได้

ขั้นตอนของ OAuth 2.0

Google API รองรับ Use Case ของ 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.