مثالهای زیر نحوه استفاده از YouTube Data API (v3) را برای انجام عملکردهای مرتبط با ویدیوها نشان میدهند.
ویدیوهای آپلود شده یک کانال را بازیابی کنید
این مثال ویدیوهای آپلود شده در یک کانال خاص را بازیابی می کند. مثال دو مرحله دارد:
مرحله 1: شناسه لیست پخش ویدیوهای آپلود شده کانال را بازیابی کنید
برای بازیابی شناسه لیست پخشی که حاوی ویدیوهای آپلود شده کانال است، با روش
channels.listتماس بگیرید. مقدار پارامترpartدرخواست باید حاویcontentDetailsبه عنوان یکی از بخشهای منبعchannelدر حال بازیابی باشد. در پاسخ API، ویژگیcontentDetails.relatedPlaylists.uploadsحاوی شناسه لیست پخش است.راه های مختلفی برای شناسایی کانال وجود دارد:
برای بازیابی اطلاعات کانال یوتیوب کاربر تأیید شده فعلی، مقدار پارامتر
mineرا رویtrueتنظیم کنید. درخواست شما باید با استفاده از OAuth 2.0 مجاز باشد.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
پارامتر
forUsernameرا روی نام کاربری YouTube تنظیم کنید تا اطلاعات کانال مرتبط با آن نام کاربری را بازیابی کنید. این مثال مقدار پارامترforUsernameرا بهGoogleبرای بازیابی اطلاعات برای کانال رسمی YouTube Google تنظیم می کند.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
پارامتر
idرا روی شناسه کانال YouTube تنظیم کنید که به طور منحصربهفرد کانالی را که اطلاعات آن را بازیابی میکنید مشخص میکند. این مثال پارامترidرا رویUCK8sQmJBp8GCxrOtXWBpyEAتنظیم می کند که کانال رسمی YouTube Google را نیز مشخص می کند.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &id=UCK8sQmJBp8GCxrOtXWBpyEA
مرحله 2: لیست ویدیوهای آپلود شده را بازیابی کنید
برای بازیابی لیست ویدیوهای آپلود شده، با روش
playlistItems.listتماس بگیرید. مقدار پارامترplaylistIdرا روی مقدار به دست آمده در مرحله 1 تنظیم کنید. در این مثال، مقدار پارامتر رویUUK8sQmJBp8GCxrOtXWBpyEAتنظیم شده است که لیست ویدیوهای آپلود شده در کانال رسمی YouTube Google است.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list? part=snippet,contentDetails,status &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA
محبوب ترین ویدیوها را بازیابی کنید
این مثال نشان میدهد که چگونه میتوان فهرستی از محبوبترین ویدیوهای YouTube را بازیابی کرد که با استفاده از الگوریتمی انتخاب شدهاند که سیگنالهای مختلف را برای تعیین محبوبیت کلی ترکیب میکند.
برای بازیابی لیست محبوب ترین ویدیوها، روش videos.list را فراخوانی کنید و مقدار پارامتر chart را روی mostPopular تنظیم کنید. mostPopular نمودار شامل موسیقی پرطرفدار، فیلم و ویدیوهای بازی است.
سپس، می توانید به صورت اختیاری پارامترهای زیر را تنظیم کنید:
-
regionCode: به API دستور می دهد تا لیستی از ویدیوها را برای منطقه مشخص شده برگرداند. مقدار پارامتر یک کد کشور ISO 3166-1 alpha-2 است. می توانید از روشi18nRegions.listبرای بازیابی لیستی از کدهای منطقه ای که YouTube پشتیبانی می کند استفاده کنید. -
videoCategoryId: دسته ویدیویی را که محبوب ترین ویدیوها باید برای آن بازیابی شوند را مشخص می کند. میتوانید از روشvideoCategories.listبرای بازیابی فهرستی از شناسههای دستههایی که YouTube پشتیبانی میکند استفاده کنید.
به عنوان مثال، درخواست زیر محبوب ترین ویدیوهای ورزشی در اسپانیا را بازیابی می کند:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet &chart=mostPopular ®ionCode=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 از توانایی آپلود فایل های رسانه ای پشتیبانی نمی کند، که لازمه این روش است.
یک ویدیو را حذف کنید
این مثال نحوه حذف یک ویدیو را نشان می دهد. مثال دارای مراحل زیر است:
مرحله 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