Reports: Query

ملاحظة مهمة: تتطلب طلبات واجهة برمجة التطبيقات الخاصة بهذه الطريقة الآن الوصول إلى نطاق https://www.googleapis.com/auth/youtube.readonly.

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

  • المقاييس عبارة عن مقاييس فردية لنشاط المستخدم، مثل مشاهدات الفيديو أو التقييمات (الإعجابات وإبداءات عدم الإعجاب).
  • الأبعاد هي معايير شائعة تُستخدم لجمع البيانات، مثل تاريخ حدوث نشاط المستخدم أو البلد الذي تواجد فيه المستخدمون. في كل تقرير، يحتوي كل صف من البيانات على مجموعة فريدة من قيم الأبعاد.
  • الفلاتر هي قيم الأبعاد التي تحدد البيانات التي سيتم استردادها. على سبيل المثال، يمكنك استرداد بيانات بلد محدّد أو فيديو محدّد أو مجموعة من الفيديوهات.

ملاحظة: يمكن فقط لشركاء محتوى YouTube المشاركين في برنامج شركاء YouTube الوصول إلى تقارير مالكي المحتوى.

حالات الاستخدام الشائعة

طلب

طلب HTTP

GET https://youtubeanalytics.googleapis.com/v2/reports

يجب أن يتم السماح بجميع طلبات البيانات من واجهة برمجة التطبيقات في YouTube Analytics. يوضح دليل التفويض كيفية استخدام بروتوكول OAuth 2.0 لاسترداد الرموز المميزة للتفويض.

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

المناظير
https://www.googleapis.com/auth/yt-analytics.readonly عرض تقارير YouTube Analytics للمحتوى في YouTube. يوفر هذا النطاق الوصول إلى مقاييس نشاط المستخدم، مثل عدد المشاهدات وأعداد التقييمات.
https://www.googleapis.com/auth/yt-analytics-monetary.readonly عرض تقارير YouTube Analytics المالية للمحتوى في YouTube. ويوفّر هذا النطاق إمكانية الوصول إلى مقاييس نشاط المستخدم وإلى مقاييس الأرباح وأداء الإعلان المقدّرة.
https://www.googleapis.com/auth/youtube إدارة حسابك في YouTube. في واجهة برمجة تطبيقات YouTube Analytics، يستخدم مالكو القنوات هذا النطاق لإدارة مجموعات ومجموعات YouTube Analytics.
https://www.googleapis.com/auth/youtubepartner عرض وإدارة مواد عرض YouTube والمحتوى المرتبط بها على YouTube. في YouTube Analytics API، يستخدم مالكو المحتوى هذا النطاق لإدارة مجموعات YouTube Analytics وعناصر المجموعات.

المعلَمات

تسرد الجداول التالية معامِلات طلب البحث الاختيارية والاختيارية لطلبات واجهة برمجة التطبيقات لاسترداد تقارير طلبات البحث. كما أن معامِلات طلب البحث القياسية المدرجة في الجدول اختيارية وتدعمها العديد من واجهات برمجة تطبيقات Google.

المعلَمات
المعلّمات المطلوبة
endDate string
تاريخ الانتهاء لجلب بيانات YouTube Analytics يجب أن تكون القيمة بتنسيق YYYY-MM-DD.

تحتوي استجابة واجهة برمجة التطبيقات على بيانات حتى اليوم الأخير الذي تكون فيه جميع المقاييس في طلب البحث متاحة في وقت طلب البحث. على سبيل المثال، إذا حدّد الطلب تاريخ الانتهاء في 5 تموز (يوليو) 2017، وكانت قيم جميع المقاييس المطلوبة متاحة فقط حتى 3 تموز (يوليو) 2017، سيكون هذا هو آخر تاريخ يتم فيه تضمين البيانات في الاستجابة. (ويتم ذلك حتى لو كانت بيانات بعض المقاييس المطلوبة متوفرة في 4 من تموز (يوليو) 2017).
ملاحظة: في الإصدار 1 من واجهة برمجة التطبيقات، تمت تسمية هذه المعلَمة end-date.
ids string
لتحديد قناة YouTube أو مالك المحتوى الذي تسترد بيانات YouTube Analytics عنه.

  • لطلب البيانات لقناة YouTube، اضبط قيمة المعلمة ids على channel==MINE أو channel==CHANNEL_ID، حيث تحدد CHANNEL_ID قناة YouTube للمستخدم الذي تمت مصادقته حاليًا.
  • لطلب البيانات لمالك محتوى YouTube، اضبط قيمة المعلمة ids على contentOwner==OWNER_NAME، حيث تكون OWNER_NAME هي content owner ID للمستخدم.

metrics string
قائمة مفصولة بفواصل تتضمّن YouTube Analytics مقاييس، مثل views أو likes,dislikes اطّلع على وثائق تقارير القنوات أو تقارير مالكي المحتوى للحصول على قائمة بالتقارير التي يمكنك استردادها والمقاييس المتاحة في كل تقرير. (يحتوي مستند المقاييس على تعريفات لجميع المقاييس.)
startDate string
تاريخ بدء جلب بيانات YouTube Analytics. يجب أن تكون القيمة بتنسيق YYYY-MM-DD.
ملاحظة: في الإصدار 1 من واجهة برمجة التطبيقات، تمت تسمية هذه المعلَمة start-date.
المعلّمات الاختيارية
currency string
العملة التي ستستخدمها واجهة برمجة التطبيقات لتحديد مقاييس الأرباح المقدّرة التالية: estimatedRevenue وestimatedAdRevenue وestimatedRedPartnerRevenue وgrossRevenue وcpm وplaybackBasedCpm. القيم التي تعرضها واجهة برمجة التطبيقات لهذه المقاييس هي تقديرات يتم حسابها باستخدام أسعار الصرف التي تتغير يوميًا. وإذا لم يتم طلب أي من هذه المقاييس، سيتم تجاهل المعلّمة.

وتكون قيمة المعلّمة رمز عملة مكوّنًا من ثلاثة أحرف بتنسيق ISO 4217 من قائمة العملات أدناه. تعرض واجهة برمجة التطبيقات خطأ إذا تم تحديد عملة غير مدعومة. القيمة التلقائية هي USD.

dimensions string
قائمة مفصولة بفواصل لأبعاد YouTube Analytics، مثل video أو ageGroup,gender. اطّلع على وثائق تقارير القنوات أو تقارير مالكي المحتوى للحصول على قائمة بالتقارير التي يمكنك استردادها والأبعاد المستخدمة لهذه التقارير. (يحتوي مستند الأبعاد على تعريفات لجميع الأبعاد.)
filters string
قائمة بالفلاتر التي يجب تطبيقها عند استرداد بيانات YouTube Analytics تحدد مستندات تقارير القنوات وتقارير مالكي المحتوى الأبعاد التي يمكن استخدامها لتصفية كل تقرير، ويحدد مستند الأبعاد هذه الأبعاد.

إذا كان الطلب يستخدم فلاتر متعددة، فادمجها مع فاصلة منقوطة (;)، وسيلبي جدول النتائج المعروض كلا الفلترين. على سبيل المثال، تحدّد قيمة المَعلمة filters، أي video==dMH0bHeiRNg;country==IT، مجموعة النتائج التي تشمل بيانات فيديو معيّن في إيطاليا.

تحديد قيم متعددة لفلتر

تتيح واجهة برمجة التطبيقات إمكانية تحديد قيم متعددة لفلاتر video وplaylist وchannel. ولإجراء ذلك، حدّد قائمة منفصلة بمعرّفات الفيديو أو قائمة التشغيل أو معرّفات القناة التي يجب فلترة استجابة واجهة برمجة التطبيقات لها. على سبيل المثال، تحدّد قيمة المَعلمة filters التي تبلغ video==pd1FJh59zxQ,Zhawgd0REhA;country==IT مجموعة النتائج لتشمل بيانات عن فيديوهات معيّنة في إيطاليا. يمكن أن تحدد قيمة المعلمة ما يصل إلى 500 رقم تعريف.

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

على سبيل المثال، لنفترض أنّك استرجعت تقرير مصدر الزيارات لقناة، وهو يجمع إحصاءات حول المشاهدة استنادًا إلى كيفية وصول المشاهدين إلى محتوى الفيديو في القناة. ولنفترض أيضًا أنّ طلب معلّمة filters لطلبك يحدّد قائمة تتضمّن 10 فيديوهات يجب عرض بياناتها.
  • إذا أضفت video إلى قيمة المَعلمة dimensions، ستوفّر استجابة واجهة برمجة التطبيقات إحصاءات مصادر الزيارات المنفصلة لكل فيديو من الفيديوهات العشرة.
  • إذا لم تضِف video إلى قيمة المَعلمة dimensions، ستجمع استجابة واجهة برمجة التطبيقات إحصاءات مصادر الزيارات لكل الفيديوهات العشرة.
includeHistoricalChannelData boolean
ملاحظة: تنطبق هذه المعلَمة على تقارير مالكي المحتوى فقط.

تشير إلى ما إذا كانت استجابة واجهة برمجة التطبيقات يجب أن تتضمّن وقت مشاهدة القناة وبيانات المشاهدة من الفترة الزمنية السابقة قبل ربط القنوات بمالك المحتوى. إن القيمة الافتراضية للمعلمة هي false مما يعني أن استجابة واجهة برمجة التطبيقات لا تتضمن سوى وقت المشاهدة وبيانات المشاهدة من التواريخ التي تم فيها ربط القنوات بمالك المحتوى.

من المهم أن نتذكّر أنّه قد تم ربط قنوات مختلفة بمالك محتوى في تواريخ مختلفة. إذا كان طلب البيانات من واجهة برمجة التطبيقات يستردّ بيانات قنوات متعدّدة وكانت قيمة المعلَمة false، هذا يعني أنّ استجابة واجهة برمجة التطبيقات تتضمّن بيانات تستند إلى تاريخ الربط لكل قناة محدّدة. إذا كانت قيمة المعلَمة هي true، ستحتوي استجابة واجهة برمجة التطبيقات على بيانات تتطابق مع التواريخ المحدّدة في طلب البيانات من واجهة برمجة التطبيقات.
ملاحظة: في الإصدار 1 من واجهة برمجة التطبيقات، تمت تسمية هذه المعلَمة include-historical-channel-data.
maxResults integer
الحد الأقصى لعدد الصفوف المراد تضمينها في الاستجابة.
ملاحظة: في الإصدار 1 من واجهة برمجة التطبيقات، تمت تسمية هذه المعلَمة max-results.
sort string
قائمة بالأبعاد أو المقاييس مفصولة بفواصل تحدّد ترتيب التصنيف لبيانات "إحصاءات YouTube". بشكل تلقائي، يكون ترتيب التصنيف تصاعديًا. تؤدي البادئة - إلى ترتيب تنازلي للترتيب.
startIndex integer
الفهرس المستند إلى رقم 1 للكيان الأول المطلوب استرداده. (القيمة التلقائية هي 1.) يمكنك استخدام هذه المعلمة كآلية للتقسيم على صفحات مع معلمة max-results.
ملاحظة: في الإصدار 1 من واجهة برمجة التطبيقات، تمت تسمية هذه المعلَمة start-index.
المعلمات العادية
access_token رمز OAuth 2.0 المميز للمستخدم الحالي.
alt هذه المعلَمة غير متاحة في الإصدار 2 من واجهة برمجة التطبيقات الذي لا يتوافق إلا مع استجابات JSON.تنسيق البيانات لاستجابة واجهة برمجة التطبيقات.
  • القيمتان الصالحتان: json، csv
  • القيمة التلقائية: json
callback دالّة رد الاتصال.
  • اسم دالة رد اتصال JavaScript التي تعالج الاستجابة.
  • يتم استخدامها في طلبات JavaScript JSON-P.
prettyPrint

لعرض الاستجابة باستخدام المسافات البادئة وفواصل الأسطر.

  • لعرض الاستجابة بتنسيق يمكن للإنسان قراءته إذا true.
  • القيمة التلقائية: true.
  • وعند استخدام السياسة false، يمكن أن يؤدي ذلك إلى تقليل حجم حمولة الاستجابة، ما قد يؤدي إلى أداء أفضل في بعض البيئات.
quotaUser تم دعم هذه المعلمة في الإصدار 1 من واجهة برمجة التطبيقات، والتي تم إيقافها الآن. هذه المعلَمة غير متاحة في الإصدار 2 من واجهة برمجة التطبيقات.
userIp تم دعم هذه المعلمة في الإصدار 1 من واجهة برمجة التطبيقات، والتي تم إيقافها الآن. هذه المعلَمة غير متاحة في الإصدار 2 من واجهة برمجة التطبيقات.

نص الطلب

لا ترسل نص الطلب عند استدعاء هذه الطريقة.

الإجابة

كما هو موضّح في تعريف المعلَمة alt، يمكن لواجهة برمجة التطبيقات عرض الردود بتنسيق JSON أو CSV. في ما يلي معلومات عن نص الاستجابة لكل نوع:

JSON
{
  "kind": "youtubeAnalytics#resultTable",
  "columnHeaders": [
    {
      "name": string,
      "dataType": string,
      "columnType": string
    },
    ... more headers ...
  ],
  "rows": [
    [
      {value}, {value}, ...
    ]
  ]
}
أماكن إقامة
kind string
تحدّد هذه القيمة نوع البيانات المضمّنة في استجابة واجهة برمجة التطبيقات. بالنسبة إلى طريقة query، ستكون قيمة السمة kind youtubeAnalytics#resultTable. ومع ذلك، إذا كانت واجهة برمجة التطبيقات تضيف دعمًا لطرق أخرى، قد تقدِّم استجابات واجهة برمجة التطبيقات لتلك الطرق قيم خصائص kind أخرى.
columnHeaders[] list
تحدّد هذه القيمة معلومات عن البيانات المعروضة في حقول rows. يحدّد كل عنصر في القائمة columnHeaders حقلاً معروضًا في القيمة rows يحتوي على قائمة بالبيانات المفصولة بفواصل.

تبدأ القائمة columnHeaders بالأبعاد المحددة في طلب البيانات من واجهة برمجة التطبيقات، متبوعةً بالمقاييس المحددة في طلب البيانات من واجهة برمجة التطبيقات. يطابق ترتيب كلٍّ من الأبعاد والمقاييس الترتيب الوارد في طلب البيانات من واجهة برمجة التطبيقات.

على سبيل المثال، إذا كان طلب البيانات من واجهة برمجة التطبيقات يتضمّن المعلّمات dimensions=ageGroup,gender&metrics=viewerPercentage، ستعرض استجابة واجهة برمجة التطبيقات الأعمدة بالترتيب التالي: ageGroup،gender،viewerPercentage.
columnHeaders[].name string
اسم المكوّن أو المقياس.
columnHeaders[].columnType string
نوع العمود (DIMENSION أو METRIC).
columnHeaders[].dataType string
نوع البيانات في العمود (STRING وINTEGER وFLOAT وما إلى ذلك)
rows[] list
تحتوي القائمة على جميع صفوف جدول النتائج. يمثل كل عنصر في القائمة مصفوفة تحتوي على بيانات مفصولة بفواصل تتطابق مع صف واحد من البيانات. سيتطابق ترتيب حقول البيانات المفصولة بفواصل مع ترتيب الأعمدة المدرجة في الحقل columnHeaders.

في حال عدم توفّر بيانات لطلب البحث المحدّد، سيتم حذف العنصر rows من الاستجابة.

لن يحتوي الردّ على طلب البحث باستخدام السمة day على صفوف في الأيام الأخيرة.

ملف CSV
day, views, likes, ...
"2012-01-01", 12.0, 3, ...
"2012-01-02", 16.0, 2, ...
"2012-01-03", 18.0, 8, ...
...

أمثلة

ملاحظة: قد لا تمثّل نماذج الرموز التالية جميع لغات البرمجة المتوافقة. راجع وثائق مكتبات العميل للحصول على قائمة باللغات المتوفرة.

JavaScript

يستدعي هذا المثال واجهة برمجة تطبيقات YouTube Analytics لاسترداد المشاهدات اليومية والمقاييس الأخرى لقناة المستخدم المفوَّض للسنة التقويمية 2017. يستخدم النموذج مكتبة عميل "جافا سكريبت" من Google APIs.

قبل تشغيل هذا النموذج محليًا للمرة الأولى، عليك إعداد بيانات اعتماد التفويض لمشروعك:
  1. أنشئ مشروعًا أو حدّده في وحدة تحكم واجهة برمجة تطبيقات Google.
  2. فعِّل YouTube Analytics API لمشروعك.
  3. في أعلى صفحة بيانات الاعتماد، اختَر علامة التبويب شاشة موافقة OAuth. حدد عنوان البريد الإلكتروني، وأدخل اسم المنتج إذا لم يكن قد تم تعيينه من قبل، وانقر على الزر حفظ.
  4. في صفحة بيانات الاعتماد، انقر على الزر إنشاء بيانات اعتماد وحدد معرّف عميل Oauth.
  5. حدد نوع تطبيق الويب.
  6. في الحقل "أصول JavaScript المعتمدة"، أدخل عنوان URL الذي ستعرض نموذج الشفرة منه. على سبيل المثال، يمكنك استخدام عبارات مثل http://localhost:8000 أو http://yourserver.example.com. يمكنك ترك حقل عناوين URI لإعادة التوجيه المعتمدة فارغًا.
  7. انقر على الزر إنشاء للانتهاء من إنشاء بيانات الاعتماد.
  8. قبل إغلاق مربع الحوار، انسخ رقم تعريف العميل الذي ستحتاج إلى وضعه في نموذج الشفرة.

ثم احفظ النموذج في ملف محلي. في النموذج، ابحث عن السطر التالي واستبدل YOUR_CLIENT_ID بالرقم التعريفي للعميل الذي حصلت عليه عند إعداد بيانات اعتماد التفويض.

gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});

أنت الآن مستعد لاختبار النموذج الفعلي:

  1. افتح الملف المحلي من متصفح ويب، وافتح وحدة تصحيح الأخطاء في المتصفح. من المفترض أن تظهر لك صفحة تعرض زرين.
  2. انقر على الزر تفويض وتحميل لبدء تدفق تفويض المستخدم. إذا منحت التطبيق الإذن باسترداد بيانات قناتك، من المفترض أن تظهر الأسطر التالية مطبوعة على وحدة التحكّم في المتصفّح:
    Sign-in successful
    GAPI client loaded for API
  3. إذا ظهرت لك رسالة خطأ بدلاً من السطور أعلاه، تأكّد من تحميل النص البرمجي من معرّف الموارد المنتظم (URI) الخاص بإعادة التوجيه المفوَّض الذي أعددته لمشروعك ومن إدخال معرّف العميل في الرمز كما هو موضّح أعلاه.
  4. انقر على الزر تنفيذ لاستدعاء واجهة برمجة التطبيقات. سترى نسخة مطبوعة من الكائن response على وحدة التحكم في المتصفح. في ذلك الكائن، يتم ربط الخاصية result بكائن يحتوي على بيانات واجهة برمجة التطبيقات.
<script src="https://apis.google.com/js/api.js"></script>
<script>
  function authenticate() {
    return gapi.auth2.getAuthInstance()
        .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"})
        .then(function() { console.log("Sign-in successful"); },
              function(err) { console.error("Error signing in", err); });
  }
  function loadClient() {
    return gapi.client.load("https://youtubeanalytics.googleapis.com/$discovery/rest?version=v2")
        .then(function() { console.log("GAPI client loaded for API"); },
              function(err) { console.error("Error loading GAPI client for API", err); });
  }
  // Make sure the client is loaded and sign-in is complete before calling this method.
  function execute() {
    return gapi.client.youtubeAnalytics.reports.query({
      "ids": "channel==MINE",
      "startDate": "2017-01-01",
      "endDate": "2017-12-31",
      "metrics": "views,estimatedMinutesWatched,averageViewDuration,averageViewPercentage,subscribersGained",
      "dimensions": "day",
      "sort": "day"
    })
        .then(function(response) {
                // Handle the results here (response.result has the parsed body).
                console.log("Response", response);
              },
              function(err) { console.error("Execute error", err); });
  }
  gapi.load("client:auth2", function() {
    gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});
  });
</script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>

لغة Python

يستدعي هذا المثال واجهة برمجة تطبيقات YouTube Analytics لاسترداد المشاهدات اليومية والمقاييس الأخرى لقناة المستخدم المفوَّض للسنة التقويمية 2017. يستخدم النموذج مكتبة عميل Python لـ Google APIs.

قبل تشغيل هذا النموذج محليًا للمرة الأولى، عليك إعداد بيانات اعتماد التفويض لمشروعك:
  1. أنشئ مشروعًا أو حدّده في وحدة تحكم واجهة برمجة تطبيقات Google.
  2. فعِّل YouTube Analytics API لمشروعك.
  3. في أعلى صفحة بيانات الاعتماد، اختَر علامة التبويب شاشة موافقة OAuth. حدد عنوان البريد الإلكتروني، وأدخل اسم المنتج إذا لم يكن قد تم تعيينه من قبل، وانقر على الزر حفظ.
  4. في صفحة بيانات الاعتماد، انقر على الزر إنشاء بيانات اعتماد وحدد معرّف عميل Oauth.
  5. حدد نوع التطبيق غير ذلك، وأدخل الاسم "البدء السريع لواجهة برمجة تطبيقات YouTube Analytics"، ثم انقر على الزر "إنشاء".
  6. انقر على موافق لتجاهل مربع الحوار الناتج.
  7. انقر على الزر (تنزيل JSON) على يسار معرِّف العميل.
  8. انقل الملف الذي تم تنزيله إلى دليل العمل.

يجب أيضًا تثبيت مكتبة برامج "واجهات Google API" للغة Python وبعض المكتبات الإضافية:

pip install --upgrade google-api-python-client
pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2

أنت الآن مستعد لاختبار النموذج الفعلي:

  1. انسخ نموذج الرمز أدناه إلى دليل العمل.
  2. في النموذج، حدِّث قيمة المتغيّر CLIENT_SECRETS_FILE لمطابقة موقع الملف الذي نزَّلته بعد إعداد بيانات اعتماد التفويض.
  3. شغِّل نموذج الرمز في نافذة طرفية:
    python yt_analytics_v2.py
  4. استعرض تدفق التفويض. قد يتم تحميل خطوات المصادقة تلقائيًا في المتصفِّح أو قد تحتاج إلى نسخ عنوان URL للمصادقة في نافذة متصفِّح. في نهاية خطوات التفويض، إذا لزم الأمر، الصق رمز التفويض المعروض في المتصفّح في نافذة الوحدة الطرفية وانقر على [return].
  5. يتم تنفيذ طلب بحث واجهة برمجة التطبيقات ويتم إخراج استجابة JSON إلى النافذة الطرفية.
# -*- coding: utf-8 -*-

import os
import google.oauth2.credentials
import google_auth_oauthlib.flow
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from google_auth_oauthlib.flow import InstalledAppFlow

SCOPES = ['https://www.googleapis.com/auth/yt-analytics.readonly']

API_SERVICE_NAME = 'youtubeAnalytics'
API_VERSION = 'v2'
CLIENT_SECRETS_FILE = 'YOUR_CLIENT_SECRET_FILE.json'
def get_service():
  flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS_FILE, SCOPES)
  credentials = flow.run_console()
  return build(API_SERVICE_NAME, API_VERSION, credentials = credentials)

def execute_api_request(client_library_function, **kwargs):
  response = client_library_function(
    **kwargs
  ).execute()

  print(response)

if __name__ == '__main__':
  # Disable OAuthlib's HTTPs verification when running locally.
  # *DO NOT* leave this option enabled when running in production.
  os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'

  youtubeAnalytics = get_service()
  execute_api_request(
      youtubeAnalytics.reports().query,
      ids='channel==MINE',
      startDate='2017-01-01',
      endDate='2017-12-31',
      metrics='estimatedMinutesWatched,views,likes,subscribersGained'
      dimensions='day',
      sort='day'
  )

جرِّب هذه الميزة الآن.

يمكنك استخدام APIs Explorer لاستدعاء واجهة برمجة التطبيقات هذه والاطّلاع على طلب واجهة برمجة التطبيقات والاستجابة له.