comments.markAsSpam دیگر پشتیبانی نمی شود.مثالهای زیر نحوه استفاده از YouTube Data API (v3) را برای انجام عملکردهای مربوط به نظرات نشان میدهند.
بازیابی نظرات برای یک ویدیو
برای بازیابی لیستی از رشته های نظر برای یک ویدیو، با روش commentThreads.list تماس بگیرید. مقادیر پارامتر زیر را در درخواست خود تنظیم کنید:
part: اگر فقط میخواهید نظرات سطح بالا را بازیابی کنید یا snippet کنید، مقدار پارامتر را رویsnippetتنظیم کنید، اگر میخواهید پاسخ نظرات سطح بالا را نیز بازیابی کنید،snippet,replies. (توجه داشته باشید که منبعcommentThreadلزوماً شامل همه پاسخهای یک نظر نیست و اگر میخواهید همه پاسخها را برای یک نظر خاص بازیابی کنید، باید از روشcomments.listاستفاده کنید.)videoId: شناسه ویدیوی YouTube ویدیویی را که برای آن نظرات را بازیابی می کنید، مشخص کنید.
درخواست زیر نظرات و پاسخهای مربوط به ویدیوی سخنرانی اصلی در کنفرانس Google I/O 2014 را بازیابی میکند که دارای شناسه ویدیوی wtLJPvx7-ys است.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list? part=snippet,replies &videoId=wtLJPvx7-ys
نظرات مربوط به یک کانال یا مرتبط با آن را بازیابی کنید
API از توانایی بازیابی رشتههای نظرات درباره یک کانال یا بازیابی همه رشتههای نظر مرتبط با یک کانال پشتیبانی میکند. در مورد دوم، API میتواند حاوی نظراتی درباره کانال یا هر یک از ویدیوهای کانال باشد.
- برای بازیابی نظرات درباره یک کانال، دستورالعملهای بازیابی نظرات یک ویدیو را دنبال کنید. با این حال، به جای تنظیم پارامتر
videoId، پارامترchannelIdرا برای شناسایی کانال تنظیم کنید. - برای بازیابی نظرات مرتبط با یک کانال، دستورالعملهای بازیابی نظرات یک ویدیو را دنبال کنید. با این حال، به جای تنظیم پارامتر
videoId، پارامترallThreadsRelatedToChannelIdرا برای شناسایی کانال تنظیم کنید.
درخواست زیر همه رشتههای نظر مرتبط با کانال YouTube GoogleDevelopers را بازیابی میکند:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list? part=snippet,replies &allThreadsRelatedToChannelId=UC_x5XG1OV2P6uZZ5FSM9Ttw
افزودن نظر
با روش commentThreads.insert تماس بگیرید تا یک نظر جدید و سطح بالا به یک کانال یا یک ویدیو اضافه کنید. مقدار پارامتر part درخواست را روی snippet تنظیم کنید. بدنه درخواست یک commentThread resource است که در آن ویژگی snippet.topLevelComment[].snippet[].textOriginal حاوی متن نظر است. این درخواست باید با استفاده از OAuth 2.0 مجاز باشد.
- برای افزودن نظر به کانال، از ویژگی
snippet.channelIdبرای شناسایی کانال استفاده کنید. - برای افزودن نظر به یک ویدیو، از ویژگی
snippet.channelIdبرای شناسایی کانالی که ویدیو را آپلود کرده است استفاده کنید. همچنین از ویژگیsnippet.videoIdبرای شناسایی ویدیو استفاده کنید.
درخواست نمونه زیر نظری را به یک ویدیو اضافه می کند.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.insert? part=snippet
درخواست منبع نشان داده شده در زیر را درج می کند.
{
"snippet": {
"channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
"topLevelComment": {
"snippet": {
"textOriginal": "This video is awesome!"
}
},
"videoId": "MILSirUni5E"
}
}به یک نظر پاسخ دهید
برای پاسخ دادن به نظر، با روش comments.insert تماس بگیرید. مقدار پارامتر part درخواست را روی snippet تنظیم کنید. بدنه درخواست یک comment resource است که در آن ویژگی snippet.textOriginal حاوی متن نظر است. ویژگی snippet.parentId نظر مرتبط با پاسخ را شناسایی می کند و مقدار آن commentThread resource's ID است. این درخواست باید با استفاده از OAuth 2.0 مجاز باشد.
درخواست نمونه زیر پاسخی را به یک نظر موجود اضافه می کند.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.insert? part=snippet
درخواست منبع نشان داده شده در زیر را درج می کند. برای اجرای درخواست در APIs Explorer، از مقدار ویژگی snippet.parentId برای شناسایی نظر سطح بالای مرتبط با پاسخ استفاده کنید. در یک منبع commentThread ، ویژگی snippet.topLevelComment[].id شناسه منحصر به فرد منبع را مشخص می کند.
{
"snippet": {
"parentId": "COMMENT_THREAD_ID",
"textOriginal": "That is true."
}
}یک نظر سطح بالا یا پاسخ نظر را به روز کنید
برای به روز رسانی متن یک نظر سطح بالا یا پاسخ به یک نظر سطح بالا، با روش comments.update تماس بگیرید. مقدار پارامتر part را روی snippet تنظیم کنید. در بدنه درخواست، ویژگی id نظری را که در حال تغییر آن هستید و متن نظر جدید را مشخص می کند.
- در یک منبع
commentThreadکه یک نظر سطح بالا را مشخص می کند، ویژگیsnippet.topLevelComment[].idشناسه منحصر به فرد نظر را مشخص می کند. - در یک منبع
comment، که می تواند یک نظر سطح بالا یا یک پاسخ به یک نظر را شناسایی کند، ویژگیidشناسه منحصر به فرد نظر را مشخص می کند.
نمونه درخواست زیر متن یک نظر موجود را به روز می کند.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.update? part=snippet
بدنه درخواست شامل قطعه JSON است که در زیر نشان داده شده است. برای اجرای درخواست در APIs Explorer، مقدار ویژگی id را برای شناسایی نظری که در حال بهروزرسانی هستید، تنظیم کنید. درخواست باید توسط نویسنده نظر تایید شود.
{
"id": "COMMENT_ID",
"snippet": {
"textOriginal": "That is true."
}
}وضعیت تعدیل نظر را تنظیم کنید
برای تنظیم وضعیت تعدیل نظر، با روش comments.setModerationStatus تماس بگیرید. این عمل زمانی استفاده میشود که مالک کانال نظرات کانال یا ویدیوهای کانال را تعدیل کند.
هنگام فراخوانی این روش، مقدار پارامتر id را برای شناسایی نظر تنظیم کنید. همچنین پارامتر moderationStatus را روی وضعیت دلخواه تنظیم کنید. وضعیت یک نظر فقط توسط مالک کانالی که نظر در آن ظاهر می شود قابل تنظیم است.
مرحله 1: نظراتی را که برای بررسی نگهداری می شوند، بازیابی کنید
برای بازیابی نظرات کانال یا ویدیو، با روش
commentThreads.listتماس بگیرید. مقدار پارامترmoderationStatusرا رویheldForReviewتنظیم کنید. پاسخ API را می توان برای نمایش لیستی از نظرات با گزینه ای برای مالک کانال برای انتشار یا رد هر یک استفاده کرد.مرحله 2: وضعیت نظارت یک نظر را به روز کنید
برای بهروزرسانی وضعیت نظر، با متد
comments.setModerationStatusتماس بگیرید. از مقدار پارامترidبرای تعیین شناسه منحصر به فرد نظر استفاده کنید. پارامترmoderationStatusرا رویpublishedیاrejectedتنظیم کنید. اگر نظری را رد میکنید، میتوانید پارامترbanAuthorرا نیز رویtrueتنظیم کنید تا نویسنده از اظهار نظر اضافی در کانال یا ویدیو جلوگیری کند.
توجه: API راهی برای فهرست کردن یا کشف نظرات رد شده ارائه نمی دهد. با این حال، اگر شناسه منحصربهفرد نظر مشخص باشد، همچنان میتوانید وضعیت نظارت یک نظر رد شده را به published تغییر دهید. علاوه بر این، هنگامی که وضعیت نظارت یک نظر به published یا rejected بهروزرسانی شد، وضعیت نظارت را نمیتوان به heldForReview تغییر داد.
یک نظر را حذف کنید
این مثال نحوه حذف یک نظر را نشان می دهد. مثال دارای مراحل زیر است:
مرحله 1: شناسه نظر را بازیابی کنید
برای بازیابی لیست نظرات برای یک ویدیو یا کانال، مراحل بالا را دنبال کنید. به یاد داشته باشید که یک نظر فقط توسط نویسنده آن قابل حذف است، بنابراین باید مقدار ویژگی
snippet.authorChannelId.valueیک منبعcommentرا با شناسه کانال کاربر تأیید شده مقایسه کنید تا مشخص شود آیا کاربر می تواند آن نظر خاص را حذف کند یا خیر.مرحله 2: نظر یا موضوع نظر را حذف کنید
هنگامی که شناسه رشته نظر یا نظری که در حال حذف آن هستید را شناسایی کردید، با روش
comments.deleteتماس بگیرید تا آن نظر حذف شود. از مقدار پارامترidبرای شناسایی شناسه نظر یا شناسه رشته نظر که در حال حذف هستید استفاده کنید. درخواست باید با استفاده از OAuth 2.0 مجاز باشد. اگر در حال آزمایش این پرس و جو در APIs Explorer هستید، باید یک شناسه نظر معتبر یا شناسه رشته نظر را جایگزین مقدار پارامترidدر درخواست زیر کنید.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.delete? id=COMMENT_ID