اجرا: نظرات

روش 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