تنفيذ تفويض 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 النطاقات التالية:

النطاقات
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 النطاقات التالية:

النطاقات
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.