پیاده‌سازی: نظرات

روش 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 می‌تواند شامل نظراتی درباره کانال یا درباره هریک از ویدیوهای کانال باشد.

درخواست زیر همه رشته‌های نظر مرتبط با کانال 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