旧版 YouTube Data API v2 中的评论功能变化

Jeremy Walker,YouTube API 团队
2013 年 9 月(更新时间:2013 年 12 月 2 日)

简介

新版 YouTube 评论系统于 2013 年 11 月推出,由 Google+ 提供支持,让 YouTube 用户能够比以往检索到更多视频评论。新系统还可以让您更轻松地找到有意义的对话,因为评论是按照与各个用户的相关程度排序的。

虽然 YouTube Data API v3 目前不支持新注释,但是您仍可以继续使用旧版本的 API (v2),但需要注意以下几点(以及上文所述的好处)。

我们已改用新的评论系统,建议您确认您的集成是否仍能正常运行。如果您遇到任何 bug,请在 youtube.com/dev提交问题,以便我们及时了解。谢谢!

常见问题解答

在转换前发布的评论会受到什么影响?

转换前发布的评论已迁移至由 Google+ 提供支持的新系统。

评论 Feed 是否仍然可用?

可以。例如,如果您使用该 API 检索视频评论,则会收到按相关性排序的评论 Feed,如公告中所述。*自改用新评论系统以来,评论不再默认按时间顺序排列。不过,您仍然可以在 API 请求中将 orderby 形参的值设置为 published,以便按时间顺序对评论进行排序,如以下示例所示:

https://gdata.youtube.com/feeds/api/videos/VIDEO_ID/comments?orderby=published

我们建议您遵循标准最佳实践,在评论 Feed 中使用 nextprevious 链接来浏览评论。这样一来,您还可以获得额外的好处,即能够翻阅比以前更多条评论。

如果您明确为 start-index 设置一个值来浏览评论 Feed(不推荐),则可能会导致不一致的行为,并且只会返回少量评论。

更新(2013 年 11 月 10 日)

* 默认情况下,评论 Feed 会按一般相关性(而非个人相关性)排序。换句话说,已验证身份和未验证身份的评论 Feed 请求会返回相同的结果。 该 API 支持包含非公开帖子的个性化评论动态。如需获取此 Feed,只需发出经过身份验证的请求,并在 API 请求中将 relevant-to-me 参数的值设置为 true,如以下示例所示:

https://gdata.youtube.com/feeds/api/videos/VIDEO_ID/comments?relevant-to-me=true

有没有任何 Feed 可以演示新 Feed 的格式?

现在,所有评论 Feed 都支持新格式。以下是一些示例。

  • 基于相关性的 Feed
    http://gdata.youtube.com/feeds/api/videos/9bZkp7q19f0/comments?prettyprint=true
  • 基于时间顺序的 Feed
    http://gdata.youtube.com/feeds/api/videos/9bZkp7q19f0/comments?prettyprint=true&orderby=published

我是否仍可以通过该 API 创建评论?

可以,但要使用 v2 API 撰写新注释,有以下几个要求:

  1. 通过身份验证的用户必须拥有与 Google+ 账号相关联的 YouTube 频道API 详情
  2. 请求必须通过 HTTPS 发送(旧版客户端库的当前版本默认支持此操作)

如果不符合上述任一要求,API 都会返回错误。

Google+ 评论功能支持消息串功能。这对 YouTube 评论回复有何影响?

在过渡之前发表的评论回复现在显示为常规评论。此外,我们不再支持通过 YouTube API 直接回复评论。目前,您无法通过 YouTube API 回复新式评论。

通过 YouTube 和 Google+ 网站和应用回复新版 YouTube 评论的回复不会通过旧版 API 的评论信息流返回。不过,您可以通过 Google+ API 获取实际回复。

如果 YouTube 评论信息流条目代表新式评论,则该条目包含 <yt:googlePlusUserId> 标记。如果存在该标记且评论有任何回复(只需检查 <yt:replyCount> 元素),那么您可以从该条目的 <id> 标记中解析 Google+ 活动 ID。您可以使用该 ID 调用 Google+ API 的 comments:list 方法,以检索该评论的近期回复列表。

以下代码段展示了 Google+ 活动 ID(以粗体显示)如何显示在评论 Feed 条目中:

<entry>
  <id>tag:youtube,2008:video:xpI6VNvRTII:comment:z13rtnibotmidjggs04cdvzgvurngv3pwnw0k</id>
  <yt:googlePlusUserId>123456789</yt:googlePlusUserId>
  <yt:replyCount>4</yt:replyCount>
  <yt:channelId>UCxxxx_xxxxx</yt:channelId>
  ...
</entry>

如果我通过 YouTube API 发表评论,Google+ 上会怎么样?

通过 YouTube API 发表评论不会在您的 Google+ 信息流中生成帖子,也不会创建 Google+ 通知。

切换到新评论系统后,评论是否继续显示在活动供稿中?

不,暂不启用。

旧版 API 中的 SUP 是否仍然适用于评论?

不可以,评论不支持。SUP 依赖于用户活动 Feed。由于评论不再显示在活动 Feed 中,因此不会显示在 SUP 中。