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 Console دریافت کنید .
OAuth 2.0 جریان دارد
Google API از چندین مورد استفاده OAuth 2.0 پشتیبانی می کند:
- جریان برنامه های وب سمت سرور از برنامه های کاربردی وب پشتیبانی می کند که می توانند به طور ایمن اطلاعات پایدار را ذخیره کنند.
- جریان برنامه های وب جاوا اسکریپت از برنامه های جاوا اسکریپت در حال اجرا در یک مرورگر پشتیبانی می کند.
- جریان برنامه های موبایل و دسکتاپ از برنامه های نصب شده روی دستگاه مانند تلفن یا رایانه پشتیبانی می کند.
- جریان تلویزیون ها و دستگاه های ورودی محدود از دستگاه هایی با قابلیت های ورودی محدود مانند کنسول های بازی و دوربین های ویدیویی پشتیبانی می کند.
- جریان 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.