comments.markAsSpam
方法不再受支持。
以下示例展示了如何使用 YouTube Data API (v3) 执行与评论相关的函数。
检索视频的评论
如需检索视频的评论会话列表,请调用 commentThreads.list
方法。在请求中设置以下参数值:
-
part
:如果您只想检索顶级评论,请将参数值设为snippet
;如果您只想检索顶级评论,请将参数值设为snippet,replies
。(请注意,commentThread
资源不一定包含某条评论的所有回复,如果您要检索特定评论的所有回复,则需要使用comments.list
方法。) -
videoId
:指定要检索其评论的视频的 YouTube 视频 ID。
下面的请求会检索与 2014 年 Google I/O 大会上主旨演讲演讲的视频相关的评论和评论回复(视频 ID 为 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
参数来标识频道。
以下请求会检索与 GoogleDevelopers YouTube 频道关联的所有评论会话:
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 Explorer 中执行请求,请使用 snippet.parentId
属性的值来标识与回复关联的顶级评论。在 commentThread
资源中,snippet.topLevelComment[].id
属性用于指定资源的唯一 ID。
{ "snippet": { "parentId": "COMMENT_THREAD_ID", "textOriginal": "That is true." } }
更新顶级评论或评论回复
如需更新顶级评论的文本或对顶级评论的回复,请调用 comments.update
方法。将 part
参数的值设置为 snippet
。在请求正文中,id
属性标识了您要修改的评论以及新的评论文本。
- 在标识顶级评论的
commentThread
资源中,snippet.topLevelComment[].id
属性指定了评论的唯一 ID。 - 在
comment
资源(可标识顶级评论或对评论的回复)中,id
属性会指定评论的唯一 ID。
以下示例请求会更新现有评论的文本。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.update? part=snippet
请求正文包含 JSON 代码段,如下所示。如需在 API Explorer 中执行请求,请设置 id
属性的值,以标识您要更新的评论。该请求必须获得评论作者的授权。
{ "id": "COMMENT_ID", "snippet": { "textOriginal": "That is true." } }
设置评论的审核状态
如需设置评论的审核状态,请调用 comments.setModerationStatus
方法。在频道所有者管理频道或频道中视频的评论时执行此操作。
调用此方法时,请设置 id
参数的值以标识评论。此外,请将 moderationStatus
参数设置为所需的状态。评论的状态只能由显示评论的频道的所有者来调整。
-
第 1 步:检索待审核的评论
调用
commentThreads.list
方法可检索频道或视频的评论。将moderationStatus
参数的值设置为heldForReview
。API 响应可用于显示评论列表,并为频道所有者提供用于发布或拒绝每条评论的选项。 -
第 2 步:更新评论的审核状态
调用
comments.setModerationStatus
方法以更新评论的状态。使用id
参数的值指定评论的唯一 ID。将moderationStatus
参数设置为published
或rejected
。如果您拒绝某条评论,也可以将banAuthor
参数设置为true
,以防止创作者对相应频道或视频发表更多评论。
注意:此 API 不提供列出或以其他方式发现被拒绝的评论的方法。不过,如果评论的唯一 ID 已知,您就可以将遭拒评论的审核状态更改为 published
。此外,一旦评论的审核状态更新为published
或rejected
,审核状态将无法更改回heldForReview
。
移除评论
以下示例展示了如何删除评论。该示例包含以下步骤:
-
第 1 步:检索评论 ID
按照上述步骤检索视频或频道的评论列表。请注意,评论只能由评论者删除,因此您需要比较
comment
资源的snippet.authorChannelId.value
属性的值与经过身份验证的用户的频道 ID,以确定用户是否可以删除该特定评论。 -
第 2 步:删除评论或评论会话
确定要删除的评论会话或评论的 ID 后,请调用
comments.delete
方法来删除该评论。使用id
参数值标识您要删除的评论 ID 或评论会话 ID。请求必须使用 OAuth 2.0 进行授权。如果您在 API Explorer 中测试此查询,则需要将以下请求中的id
参数值替换为有效的评论 ID 或评论会话 ID。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.delete? id=COMMENT_ID