تنفيذ تفويض OAuth 2.0

يتيح تطبيقا YouTube Reporting API وYouTube Analytics 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 لأجهزة التلفزيون والأجهزة التي تتطلّب إدخال بيانات محدودة مع الأجهزة التي تتضمّن إمكانات إدخال محدودة، مثل وحدات تحكّم الألعاب وكاميرات الفيديو. The YouTube Reporting and YouTube Analytics APIs do not currently support the OAuth 2.0 flow for devices.
  • تتيح عملية OAuth 2.0 لحساب الخدمة التفاعلات من خادم إلى خادم التي لا تصل إلى معلومات المستخدم. ومع ذلك، لا يتيح YouTube Reporting API وYouTube Analytics API هذا المسار. Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate an error.

تحديد نطاقات الوصول

تتيح النطاقات لتطبيقك طلب الوصول إلى الموارد التي يحتاجها فقط، كما تتيح للمستخدمين التحكّم في مقدار الوصول الذي يمنحه لتطبيقك. وبالتالي، قد يكون هناك علاقة عكسية بين عدد النطاقات المطلوبة واحتمالية الحصول على موافقة المستخدم.

قبل بدء تنفيذ عملية التفويض باستخدام بروتوكول OAuth 2.0، ننصحك بتحديد النطاقات التي سيحتاج تطبيقك إلى إذن للوصول إليها.

تستخدم YouTube Analytics API النطاقات التالية:

المستويات
https://www.googleapis.com/auth/youtubeإدارة حسابك في YouTube
https://www.googleapis.com/auth/youtube.readonlyعرض حسابك في YouTube
https://www.googleapis.com/auth/youtubepartnerعرض وإدارة أصولك والمحتوى المرتبط بها على YouTube
https://www.googleapis.com/auth/yt-analytics-monetary.readonlyعرض تقارير "إحصاءات YouTube" المالية وغير المالية للمحتوى في YouTube
https://www.googleapis.com/auth/yt-analytics.readonlyعرض تقارير "إحصاءات YouTube" للمحتوى في YouTube

تستخدم واجهة YouTube Reporting API النطاقات التالية:

المستويات
https://www.googleapis.com/auth/yt-analytics-monetary.readonlyعرض تقارير "إحصاءات YouTube" المالية وغير المالية للمحتوى في YouTube
https://www.googleapis.com/auth/yt-analytics.readonlyعرض تقارير "إحصاءات YouTube" للمحتوى في YouTube

يحتوي مستند نطاقات واجهة برمجة التطبيقات OAuth 2.0 على قائمة كاملة بالنطاقات التي يمكنك استخدامها للوصول إلى Google APIs.