comments.markAsSpam دیگر پشتیبانی نمیشود.
مثالهای زیر نشان میدهند که چگونه میتوان از YouTube Data API (v3) برای انجام عملکردهای مرتبط با نظرات استفاده کرد.
بازیابی نظرات برای یک ویدیو
برای بازیابی فهرست رشتههای نظر برای ویدیو، روش commentThreads.list را فراخوانی کنید. مقادیر پارامتر زیر را در درخواستتان تنظیم کنید:
-
part: اگر میخواهید فقط نظرات سطح بالا را بازیابی کنید، مقدار پارامتر را رویsnippetتنظیم کنید، یا اگر میخواهید پاسخهای نظرات سطح بالا را نیز بازیابی کنید، آن را رویsnippet,repliesتنظیم کنید. (توجه داشته باشید که یکcommentThreadمنبع لزوماً شامل همه پاسخهای یک نظر نیست، و اگر میخواهید همه پاسخهای یک نظر خاص را بازیابی کنید باید از روشcomments.listاستفاده کنید.) -
videoId: شناسه ویدیو YouTube را برای ویدیویی که نظرات آن را بازیابی میکنید مشخص کنید.
درخواست زیر نظرات و پاسخهای نظرات مربوط به ویدیو سخنرانی اصلی در کنفرانس Google I/O سال ۲۰۱۴ را که شناسه ویدیو آن 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
این درخواست منبع نشاندادهشده در زیر را درج میکند. برای اجرای درخواست در «کاوشگر API»، از مقدار دارایی 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 را روی وضعیت دلخواه تنظیم کنید. وضعیت نظر فقط توسط مالک کانالی که نظر در آن ظاهر میشود قابل تغییر است.
-
مرحله ۱: بازیابی نظراتی که برای بازبینی نگه داشته شدهاند
روش
commentThreads.listرا برای بازیابی نظرات کانال یا ویدیو فراخوانی کنید. مقدار پارامترmoderationStatusرا رویheldForReviewتنظیم کنید. از پاسخ میانای برنامهسازی کاربردی میتوان برای نمایش فهرستی از نظرات با گزینهای برای مالک کانال جهت انتشار یا رد کردن هرکدام استفاده کرد. -
مرحله ۲: بهروزرسانی وضعیت مدیریت یک نظر
برای بهروزرسانی وضعیت نظر، روش
comments.setModerationStatusرا فراخوانی کنید. از مقدار پارامترidبرای مشخص کردن شناسه یکتای نظر استفاده کنید. پارامترmoderationStatusرا رویpublishedیاrejectedتنظیم کنید. اگر نظری را رد میکنید، میتوانید پارامترbanAuthorرا رویtrueتنظیم کنید تا از ارسال نظرات بیشتر توسط نویسنده در کانال یا ویدیو جلوگیری کنید.
توجه: میانای برنامهسازی کاربردی روشی برای فهرست کردن یا بهنحوی دیگر پیدا کردن نظرات ردشده ارائه نمیدهد. بااینحال، اگر شناسه یکتای نظر مشخص باشد، همچنان میتوانید وضعیت تعدیل نظر ردشده را به published تغییر دهید. علاوهبراین، وقتی وضعیت نظارت نظری به published یا rejected بهروزرسانی شود، وضعیت نظارت را نمیتوان به heldForReview برگرداند.
برداشتن نظر
این مثال نحوه حذف نظر را نشان میدهد. این مثال شامل مراحل زیر است:
-
مرحله ۱: بازیابی شناسه نظر
مراحل بالا را برای بازیابی فهرست نظرات برای یک ویدیو یا کانال دنبال کنید. بهخاطر داشته باشید که نظر فقط توسط نویسنده آن میتواند حذف شود، بنابراین باید مقدار ویژگی منبع
commentرا با شناسه کانال کاربر اصالتسنجیشده مقایسه کنید تا مشخص شود آیا کاربر میتواند آن نظر خاص را حذف کند یا نه.snippet.authorChannelId.value -
مرحله ۲: حذف نظر یا رشته نظرات
پساز شناسایی شناسه رشته نظر یا نظری که میخواهید حذف کنید، متد
comments.deleteرا برای حذف آن نظر فراخوانی کنید. از مقدار پارامترidبرای شناسایی شناسه نظر یا شناسه رشته نظر که درحال حذف آن هستید استفاده کنید. درخواست باید بااستفاده از OAuth 2.0 مجاز شود. اگر این پُرسمان را در «کاوشگر میاناهای برنامهسازی کاربردی» آزمایش میکنید، باید شناسه نظر یا شناسه رشته نظر معتبری را بهجای مقدار پارامترidدر درخواست زیر جایگزین کنید.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.delete? id=COMMENT_ID