التنفيذ: الفيديوهات

توضّح الأمثلة التالية كيفية استخدام YouTube Data API (الإصدار 3) لتنفيذ وظائف متعلقة بالفيديوهات.

استرداد الفيديوهات التي تم تحميلها في قناة

يسترد هذا المثال الفيديوهات التي تم تحميلها إلى قناة معيّنة. يتضمن المثال خطوتَين:

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

لاسترداد قائمة الفيديوهات الأكثر رواجًا، اطلب طريقة videos.list واضبط قيمة المَعلمة chart على mostPopular. عند استرداد هذه القائمة، يمكنك أيضًا ضبط كلتا المَعلمتَين التاليتَين أو كلتيهما:

  • regionCode: لاستخدام واجهة برمجة التطبيقات في عرض قائمة بالفيديوهات للمنطقة المحدّدة
  • videoCategoryId: يحدد فئة الفيديو التي يجب استرداد الفيديوهات الأكثر رواجًا منها.

يعرض الطلب أدناه الفيديوهات الرياضية الأكثر رواجًا في إسبانيا:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?
        part=snippet
        &chart=mostPopular
        &regionCode=es
        &videoCategoryId=17

تحميل فيديو

نظرًا لأن مستكشف واجهات برمجة التطبيقات لا يتيح إمكانية تحميل الملفات، لا يرتبط هذا الوصف بمثال قابل للتنفيذ. ستساعدك المراجع التالية على تعديل تطبيقك ليتمكّن من تحميل الفيديوهات باستخدام واجهة برمجة التطبيقات v3 API:

  • تتضمن المواد المتعلقة بطريقة videos.insert لواجهة برمجة التطبيقات عدة عيّنات من الرموز تشرح كيفية تحميل فيديو باستخدام لغات برمجة مختلفة.

  • يوضّح دليل عمليات التحميل القابلة للاستئناف تسلسل طلبات HTTP التي يستخدمها التطبيق لتحميل الفيديوهات باستخدام عملية تحميل قابلة للاستئناف. يستهدف هذا الدليل في المقام الأول مطوّري البرامج الذين لا يمكنهم استخدام مكتبات برامج Google API، حيث يقدم بعضها دعمًا أصليًا لعمليات التحميل القابلة للاستئناف.

  • يستخدم مثال JavaScript لتحميل فيديو سياسة مشاركة الموارد المتعددة المصادر (CORS) (CORS) لتوضيح كيفية تحميل ملف فيديو من خلال صفحة ويب. مكتبة تحميل سياسة مشاركة الموارد المتعددة المصادر (CORS) التي تستخدمها واجهة برمجة التطبيقات الإصدار 3 تتوافق بشكل طبيعي مع التحميل القابل للاستئناف. بالإضافة إلى ذلك، يوضّح المثال كيفية التحقّق من حالة فيديو تم تحميله من خلال استرداد الجزء processingDetails من المورد video بالإضافة إلى كيفية التعامل مع التغييرات في حالة الفيديو الذي تم تحميله.

التحقق من حالة فيديو تم تحميله

يوضح هذا المثال كيفية التحقق من حالة فيديو تم تحميله. سيظهر الفيديو الذي تم تحميله على الفور في خلاصة الفيديوهات التي حمّلها المستخدم الذي تمت مصادقته. ومع ذلك، لن يظهر الفيديو على YouTube إلى أن تتم معالجته.

  • الخطوة الأولى: تحميل الفيديو

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

  • الخطوة الثانية: التحقّق من حالة الفيديو

    اطلب طريقة videos.list للتحقّق من حالة الفيديو. اضبط قيمة المَعلمة id على معرّف الفيديو الذي تم الحصول عليه في الخطوة 1. اضبط قيمة المَعلمة part على processingDetails.

    إذا تم التعامل مع الطلب بنجاح، ستحتوي استجابة واجهة برمجة التطبيقات على مورد video. يُرجى التحقق من قيمة السمة processingDetails.processingStatus لتحديد ما إذا كانت منصة YouTube لا تزال تعالج الفيديو. ستتغيّر قيمة الموقع الإلكتروني إلى قيمة أخرى غير processing، مثل succeeded أو failed، عندما تنتهي منصة YouTube من معالجة الفيديو.

    نص الطلب هو مورد video حيث تحدّد السمة id معرّف الفيديو الذي تريد حذفه. في هذا المثال، يحتوي المورد أيضًا على عنصر recordingDetails.

    يعرض الطلب أدناه حالة فيديو معيّن. لإكمال الطلب في مستكشف واجهات برمجة التطبيقات، يجب ضبط قيمة السمة id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
            part=snippet,processingDetails
            &id=VIDEO_ID

ملاحظة: يمكن أن يستخدم تطبيقك واجهة برمجة التطبيقات للتحقّق بشكل دوري من حالة فيديو تم تحميله مؤخرًا. بعد معالجة الفيديو، يمكن أن ينشئ طلبك نشرة إخبارية أو يُطلب منك اتخاذ إجراء آخر مشروطًا بحالة الفيديو.

تعديل فيديو

يوضح هذا المثال كيفية تعديل فيديو لإضافة معلومات عن وقت ومكان تسجيل الفيديو. يتضمن المثال الخطوات التالية:

  • الخطوة الأولى: استرداد معرّف الفيديو

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

    ملاحظة: تتوفر العديد من الطرق الأخرى للحصول على معرّفات الفيديوهات، مثل استرداد نتائج البحث أو عرض عناصر قائمة التشغيل. وبما أنّه لا يمكن لأحد تعديل الفيديو سوى مالكه، يُعدّ استرداد قائمة الفيديوهات التي يملكها المستخدم الذي فوّضه طلب البيانات من واجهة برمجة التطبيقات خطوة أولى على الأرجح في هذه العملية.

  • الخطوة 2: تعديل فيديو

    يمكنك اتّباع الطريقة videos.update لتعديل فيديو محدّد. اضبط قيمة المَعلمة part على recordingDetails. (تعتمد قيمة المعلمة على حقول البيانات الوصفية للفيديو التي يتم تحديثها.)

    نص الطلب هو مورد video حيث تحدّد السمة id معرّف الفيديو الذي تريد تعديله. في هذا المثال، يحتوي المورد أيضًا على عنصر recordingDetails.

    يشير نموذج المورد أدناه إلى أنه تم تسجيل الفيديو في 30 تشرين الأول (أكتوبر) 2013، في بوسطن:

    {
      "id": "VIDEO_ID",
      "recordingDetails": {
        "location": {
          "latitude": "42.3464",
          "longitude": "-71.0975"
        }
        "recordingDate": "2013-10-30T23:15:00.000Z"
      }
    }

    لإكمال الطلب في مستكشف واجهات برمجة التطبيقات، يجب ضبط قيمة السمة id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update?
            part=snippet

تحميل صورة مصغّرة مخصّصة وضبطها لفيديو

يمكنك استخدام طريقة thumbnails.set الخاصة بواجهة برمجة التطبيقات v3 لتحميل صورة مصغّرة مخصّصة وضبطها للفيديو. في طلبك، تحدّد قيمة المعلَمة videoId الفيديو الذي سيتم استخدام الصورة المصغّرة له.

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

نماذج الرموز ذات الصلة: PHP وPython

حذف فيديو

يوضح هذا المثال كيفية حذف فيديو. يتضمن المثال الخطوات التالية:

  • الخطوة الأولى: استرداد معرّف الفيديو

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

    ملاحظة: تتوفر العديد من الطرق الأخرى للحصول على معرّفات الفيديوهات، مثل استرداد نتائج البحث أو عرض عناصر قائمة التشغيل. بما أنّه لا يمكن لمالك الفيديو حذف الفيديو إلا، يُحتمَل أن تكون عملية استرداد قائمة بالفيديوهات التي يملكها المستخدم الذي فوّضه طلب البيانات من واجهة برمجة التطبيقات هي الخطوة الأولى في هذه العملية.

  • الخطوة 2: حذف فيديو

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

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete?
            id=VIDEO_ID
    

الإبلاغ عن فيديو مسيء

يعرض هذا المثال كيفية الإبلاغ عن فيديو يتضمّن محتوًى مسيئًا. يتضمن المثال الخطوات التالية:

  • الخطوة 1: استرداد المعرّفات التي توضّح سبب الإبلاغ عن الفيديو

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

    {
      "kind": "youtube#videoAbuseReportReason",
      "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"",
      "id": "S",
      "snippet": {
        "label": "Spam or misleading",
        "secondaryReasons": [
          {
            "id": "27",
            "label": "Spam or mass advertising"
          },
          {
            "id": "28",
            "label": "Misleading thumbnail"
          },
          {
            "id": "29",
            "label": "Malware or phishing"
          },
          {
            "id": "30",
            "label": "Pharmaceutical drugs for sale"
          },
          {
            "id": "31",
            "label": "Other misleading info"
          }
        ]
      }
    }

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

  • الخطوة 2: الإبلاغ عن الفيديو بحثًا عن محتوى مسيء

    يمكنك إرسال طلب مفوّض إلى الطريقة videos.reportAbuse للإبلاغ عن الفيديو. نص الطلب هو عنصر JSON يحدّد الفيديو الذي يتم الإبلاغ عنه وسبب الإبلاغ عنه. كما هو موضح في الخطوة 1، بالنسبة إلى بعض أنواع الأسباب، يتم دعم السبب الثانوي وتشجيعه بشدة.

    تحدد السمة videoId في عنصر JSON الفيديو الذي يتم الإبلاغ عنه.

    يحدد نموذج JSON أدناه فيديو يحتوي على محتوى غير مرغوب فيه أو مضلّل، وعلى وجه التحديد، لاستخدام صورة مصغّرة مضلّلة. كما هو موضّح في نموذج JSON أعلاه، يكون رقم تعريف المحتوى المحتوى غير المرغوب فيه أو المضلِّل هو S. إنّ رقم تعريف الصورة المصغّرة المضلّلة هو 28.

    {
      "videoId": "VIDEO_ID",
      "reasonId": "S",
      "secondaryReasonId": "28",
      "comments": "Testing the video flagging feature.",
      "language": "en"
    }

    يجب تفويض طلب videos.reportAbuse باستخدام OAuth 2.0. يُحمّل الرابط أدناه عنصر JSON أعلاه في مستكشف واجهات برمجة التطبيقات. لاختبار طلب البحث، يجب استبدال معرّف الفيديو الصالح بقيمة السمة videoId. يُرجى العِلم أنّ إرسال هذا الطلب سيؤدي إلى الإبلاغ عن الفيديو.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse