تنفيذ تفويض 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 رمزًا مميزًا إلى تطبيقك. بناءً على نوع التطبيق، يتم إما التحقّق من الرمز المميّز أو استبداله بنوع مختلف من الرموز المميّزة.

    على سبيل المثال، يتبادل تطبيق ويب من جهة الخادم الرمز المميّز المعروض مع رمز الدخول ورمز إعادة التحميل. يتيح رمز الدخول للتطبيق السماح بالطلبات نيابةً عن المستخدم، ويتيح رمز التحديث للتطبيق استرداد رمز دخول جديد عند انتهاء صلاحية رمز الدخول الأصلي.

ملاحظة مهمة: يجب الحصول على بيانات اعتماد التفويض في وحدة التحكم في واجهة 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 إدارة حساب يوتيوب الخاص بك
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 Analytics النقدية وغير النقدية لمحتوى YouTube الخاص بك
https://www.googleapis.com/auth/yt-analytics.readonly عرض تقارير YouTube Analytics لمحتوى YouTube الخاص بك

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

النطاقات
https://www.googleapis.com/auth/yt-analytics-monetary.readonly عرض تقارير YouTube Analytics النقدية وغير النقدية لمحتوى YouTube الخاص بك
https://www.googleapis.com/auth/yt-analytics.readonly عرض تقارير YouTube Analytics لمحتوى YouTube الخاص بك

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