YouTube Live Streaming API תומך בפרוטוקול OAuth 2.0 לאישור גישה לנתוני משתמש פרטיים. הרשימה הבאה מסבירה כמה מעקרונות הליבה של OAuth 2.0:
-
כשמשתמש מנסה בפעם הראשונה להשתמש בפונקציונליות באפליקציה שמחייבת את המשתמש להיות מחובר ל-Google Account or YouTube account, האפליקציה תתחיל את תהליך ההרשאה של OAuth 2.0.
-
האפליקציה מפנה את המשתמש לשרת האימות של Google. הקישור לדף מציין את
scope
של הרשאת הגישה שהאפליקציה שלך מבקשת עבור חשבון המשתמש.scope
מציין את המשאבים שהאפליקציה יכולה לאחזר, להוסיף, לעדכן או למחוק בזמן שהיא פועלת כמשתמש מאומת. -
אם המשתמש מסכים להעניק לאפליקציה גישה למשאבים האלה, Google מחזירה אסימון לאפליקציה. בהתאם לסוג האפליקציה, האסימון מאמת את האסימון או מחליף אותו בסוג אחר של אסימון.
לדוגמה, אפליקציית אינטרנט בצד השרת מחליפה את האסימון שהוחזר באסימון גישה ובאסימון רענון. אסימון הגישה מאפשר לאפליקציה לאשר בקשות בשם המשתמש, ואסימון הרענון מאפשר לאפליקציה לאחזר אסימון גישה חדש כשפג התוקף של אסימון הגישה המקורי.
חשוב: כדי להשתמש בהרשאת OAuth 2.0, אתם צריכים לקבל פרטי כניסה להרשאה ב-Google API Console.
הערה:הערוץ חייב לקבל אישור כדי להשתמש ב-'YouTube בשידור חי'.
שמאפשרת לבעלי הערוץ לשדר תוכן בשידור חי בערוץ הזה. אם שולחים דרך API
בקשות מטעם משתמש מאומת שהערוץ שלו לא מופעל או שלא עומד בדרישות לשידור
פעיל בתוכן, ה-API יחזיר שגיאת insufficientPermissions
.
תהליכי OAuth 2.0
ממשקי Google API תומכים בכמה תרחישים לדוגמה ב-OAuth 2.0:
- התהליך של אפליקציות האינטרנט בצד השרת תומך באפליקציות אינטרנט שיכולות לאחסן מידע קבוע באופן מאובטח.
- התהליך של אפליקציות אינטרנט ב-JavaScript תומך באפליקציות JavaScript שפועלות בדפדפן.
- בתהליך של אפליקציות לנייד ולמחשב יש תמיכה באפליקציות שמותקנות במכשיר, כמו טלפון או מחשב.
- התהליך של טלוויזיות ומכשירים עם קלט מוגבל תומך במכשירים עם יכולות קלט מוגבלות, כמו קונסולות משחקים ומצלמות וידאו.
- תהליך OAuth 2.0 לזרימת חשבון שירות תומך באינטראקציות שרת-אל-שרת שלא ניגשות לפרטי משתמשים.
עם זאת, התהליך הזה לא נתמך על ידי YouTube Live Streaming 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.