پیاده سازی: فیلم ها

مثال‌های زیر نحوه استفاده از YouTube Data API (v3) را برای انجام عملکردهای مرتبط با ویدیوها نشان می‌دهند.

ویدیوهای آپلود شده یک کانال را بازیابی کنید

این مثال ویدیوهای آپلود شده در یک کانال خاص را بازیابی می کند. مثال دو مرحله دارد:

این مثال نشان می‌دهد که چگونه می‌توان فهرستی از محبوب‌ترین ویدیوهای YouTube را بازیابی کرد که با استفاده از الگوریتمی انتخاب شده‌اند که سیگنال‌های مختلف را برای تعیین محبوبیت کلی ترکیب می‌کند.

برای بازیابی لیست محبوب ترین ویدیوها، روش videos.list را فراخوانی کنید و مقدار پارامتر chart را روی mostPopular تنظیم کنید. هنگام بازیابی این لیست، می توانید یکی یا هر دو پارامتر زیر را نیز تنظیم کنید:

  • regionCode : به API دستور می دهد تا لیستی از ویدیوها را برای منطقه مشخص شده برگرداند.
  • videoCategoryId : دسته ویدیویی را که محبوب ترین ویدیوها باید برای آن بازیابی شوند را مشخص می کند.

درخواست زیر محبوب ترین ویدیوهای ورزشی در اسپانیا را بازیابی می کند:

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

یک ویدیو آپلود کنید

از آنجایی که APIs Explorer از قابلیت آپلود فایل ها پشتیبانی نمی کند، این توضیحات به یک مثال اجرایی پیوند نمی دهد. منابع زیر به شما کمک می کند تا برنامه خود را طوری تغییر دهید که بتواند ویدیوها را با استفاده از v3 API آپلود کند:

  • مستندات متد videos.insert API حاوی چندین نمونه کد است که نحوه آپلود ویدیو را با استفاده از زبان های برنامه نویسی مختلف توضیح می دهد.

  • راهنمای بارگذاری‌های قابل ازسرگیری، توالی درخواست‌های HTTP را توضیح می‌دهد که یک برنامه کاربردی برای آپلود ویدیوها با استفاده از فرآیند آپلود مجدد استفاده می‌کند. این راهنما عمدتاً برای توسعه‌دهندگانی است که نمی‌توانند از کتابخانه‌های سرویس گیرنده Google API استفاده کنند، که برخی از آنها پشتیبانی بومی را برای آپلودهای قابل ازسرگیری ارائه می‌دهند.

  • مثال جاوا اسکریپت برای آپلود یک ویدیو از CORS (اشتراک گذاری منابع متقابل) برای نشان دادن نحوه آپلود یک فایل ویدیویی از طریق یک صفحه وب استفاده می کند. کتابخانه آپلود CORS که API v3 از آن استفاده می کند، به طور طبیعی از آپلود مجدد پشتیبانی می کند. علاوه بر این، این مثال نحوه بررسی وضعیت یک ویدیوی آپلود شده را با بازیابی قسمت processingDetails از منبع video و همچنین نحوه مدیریت تغییرات وضعیت برای ویدیوی آپلود شده را نشان می‌دهد.

وضعیت یک ویدیوی آپلود شده را بررسی کنید

این مثال نحوه بررسی وضعیت یک ویدیوی آپلود شده را نشان می دهد. یک ویدیوی آپلود شده بلافاصله در فید ویدیوهای آپلود شده کاربر تأیید شده قابل مشاهده خواهد بود. با این حال، ویدیو تا زمانی که پردازش نشود در YouTube قابل مشاهده نخواهد بود.

  • مرحله 1: ویدیو را آپلود کنید

    برای آپلود ویدیو با روش videos.insert تماس بگیرید. اگر درخواست موفقیت آمیز باشد، پاسخ API حاوی یک منبع video خواهد بود که شناسه ویدیوی منحصر به فرد برای ویدیوی آپلود شده را مشخص می کند.

  • مرحله 2: وضعیت ویدیو را بررسی کنید

    برای بررسی وضعیت ویدیو با روش videos.list تماس بگیرید. مقدار پارامتر id را روی شناسه ویدیویی به دست آمده در مرحله 1 تنظیم کنید. مقدار پارامتر part را روی processingDetails تنظیم کنید.

    اگر درخواست با موفقیت انجام شود، پاسخ API حاوی یک منبع video خواهد بود. مقدار ویژگی processingDetails.processingStatus را بررسی کنید تا مشخص شود که آیا YouTube همچنان ویدیو را پردازش می کند یا خیر. وقتی YouTube پردازش ویدیو را به پایان رساند، ارزش این ویژگی به چیزی غیر از processing تغییر می‌کند، مانند succeeded یا failed .

    بدنه درخواست یک منبع video است که در آن ویژگی id شناسه ویدیوی ویدیویی را که در حال حذف آن هستید مشخص می کند. در این مثال، منبع همچنین حاوی یک شی recordingDetails است.

    درخواست زیر وضعیت یک ویدیو را بررسی می کند. برای تکمیل درخواست در APIs Explorer، باید مقدار ویژگی id را تنظیم کنید.

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

توجه: برنامه شما می‌تواند از API نظرسنجی کند تا به صورت دوره‌ای وضعیت ویدیوی تازه آپلود شده را بررسی کند. پس از پردازش ویدیو، برنامه شما می‌تواند یک بولتن ایجاد کند یا با توجه به وضعیت ویدیو، اقدام دیگری انجام دهد.

یک ویدیو را به روز کنید

این مثال نحوه به روز رسانی یک ویدیو را برای افزودن اطلاعات مربوط به زمان و مکان ضبط ویدیو نشان می دهد. مثال دارای مراحل زیر است:

  • مرحله 1: شناسه ویدیو را بازیابی کنید

    مراحل بالا را برای بازیابی ویدیوهای آپلود شده برای کانال کاربر تأیید شده فعلی دنبال کنید. از این فهرست می توان برای نمایش فهرستی از ویدیوها با استفاده از شناسه هر ویدیو به عنوان کلید استفاده کرد.

    توجه: راه‌های متعدد دیگری برای به دست آوردن شناسه‌های ویدیو وجود دارد، مانند بازیابی نتایج جستجو یا فهرست کردن موارد در فهرست پخش. با این حال، از آنجایی که یک ویدیو فقط توسط مالک آن می‌تواند به‌روزرسانی شود، بازیابی فهرستی از ویدیوهای متعلق به کاربری که درخواست API را تأیید می‌کند، احتمالاً اولین قدم در این فرآیند است.

  • مرحله 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"
      }
    }

    برای تکمیل درخواست در APIs Explorer، باید مقدار ویژگی id را تنظیم کنید.

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

یک تصویر کوچک سفارشی آپلود کنید و آن را برای یک ویدیو تنظیم کنید

می‌توانید از روش thumbnails.set در v3 API برای آپلود یک تصویر کوچک سفارشی و تنظیم آن برای یک ویدیو استفاده کنید. در درخواست شما، مقدار پارامتر videoId ، ویدیویی را که تصویر کوچک برای آن استفاده خواهد شد، مشخص می‌کند.

این پرس و جو را نمی توان با استفاده از APIs Explorer آزمایش کرد زیرا APIs Explorer از توانایی آپلود فایل های رسانه ای پشتیبانی نمی کند، که لازمه این روش است.

نمونه کدهای مرتبط: PHP ، Python

یک ویدیو را حذف کنید

این مثال نحوه حذف یک ویدیو را نشان می دهد. مثال دارای مراحل زیر است:

  • مرحله 1: شناسه ویدیو را بازیابی کنید

    مراحل بالا را برای بازیابی ویدیوهای آپلود شده برای کانال کاربر تأیید شده فعلی دنبال کنید. از این فهرست می توان برای نمایش فهرستی از ویدیوها با استفاده از شناسه هر ویدیو به عنوان کلید استفاده کرد.

    توجه: راه‌های متعدد دیگری برای به دست آوردن شناسه‌های ویدیو وجود دارد، مانند بازیابی نتایج جستجو یا فهرست کردن موارد در فهرست پخش. با این حال، از آنجایی که یک ویدیو فقط می تواند توسط مالک آن حذف شود، بازیابی لیستی از ویدیوهای متعلق به کاربری که درخواست API را مجاز می کند، احتمالاً اولین قدم در این فرآیند است.

  • مرحله 2: یک ویدیو را حذف کنید

    برای حذف یک ویدیوی خاص با روش videos.delete تماس بگیرید. در درخواست، پارامتر id شناسه ویدیویی ویدیویی را که در حال حذف آن هستید مشخص می کند. درخواست باید با استفاده از OAuth 2.0 مجاز باشد. اگر این پرس و جو را در APIs Explorer آزمایش می کنید، باید یک شناسه ویدیوی معتبر را جایگزین مقدار پارامتر 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 بالا را در APIs Explorer بارگیری می کند. برای آزمایش پرس و جو، باید یک شناسه ویدیوی معتبر را برای مقدار ویژگی videoId جایگزین کنید. لطفاً به یاد داشته باشید که ارسال این درخواست در واقع ویدیو را پرچم‌گذاری می‌کند.

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