CommentThreads

commentThread 资源包含有关 YouTube 评论会话的信息,其中包括评论的顶级评论和回复(如果存在)。commentThread 资源可以表示有关视频或频道的评论。

顶级评论和回复实际上都是嵌套在 commentThread 资源中的 comment 资源。commentThread 资源不一定包含对评论的所有回复,如果要检索对特定评论的所有回复,您需要使用 comments.list 方法。另请注意,有些评论没有回复。

方法

该 API 支持 commentThreads 资源的以下方法:

list
返回与 API 请求参数匹配的评论线程列表。 立即试用
插入
创建新的顶级评论。如需为现有评论添加回复,请改用 comments.insert 方法。 立即试用

资源表示法

下面的 JSON 结构显示了 commentThreads 资源的格式:

{
  "kind": "youtube#commentThread",
  "etag": etag,
  "id": string,
  "snippet": {
    "channelId": string,
    "videoId": string,
    "topLevelComment": comments Resource,
    "canReply": boolean,
    "totalReplyCount": unsigned integer,
    "isPublic": boolean
  },
  "replies": {
    "comments": [
      comments Resource
    ]
  }
}

属性

下表定义了此资源中显示的属性:

属性
kind string
标识 API 资源类型。值为 youtube#commentThread
etag etag
此资源的 Etag。
id string
YouTube 用于唯一标识评论会话的 ID。
snippet object
snippet 对象包含有关评论会话的基本详情。它还包含线程的顶级注释,它是 comment 资源。
snippet.channelId string
与话题中的评论相关联的 YouTube 频道。(snippet.videoId 属性用于标识视频。)
  • 如果评论是关于视频的,则此值用于标识上传该视频的频道。(snippet.videoId 属性用于标识视频。)
  • 如果注释引用了频道本身,则 snippet.videoId 属性将没有值。
snippet.videoId string
评论中提到的视频的 ID(如果有)。如果此属性不存在或没有值,则该线程会应用于相应频道,而不是特定视频。
snippet.topLevelComment object
线程的顶级注释。该属性的值为 comment 资源。
snippet.canReply boolean
此设置用于指明当前查看者是否可以回复会话。
snippet.totalReplyCount unsigned integer
为回复顶级评论而提交的回复总数。
snippet.isPublic boolean
此设置用于指示所有 YouTube 用户是否可以看到该话题(包括其中的所有评论和回复)。
replies object
replies 对象是一个容器,其中包含评论的回复列表(如果存在)。replies.comments 属性表示评论本身的列表。
replies.comments[] list
顶级评论的一个或多个回复列表。列表中的每一项都是 comment 资源。

该列表包含的回复数量有限,除非列表中的项目数量等于 snippet.totalReplyCount 属性的值,否则回复列表只是顶级评论可用回复总数的一部分。要检索顶级评论的所有回复,您需要调用 comments.list 方法,并使用 parentId 请求参数来标识要检索回复的评论。