旧版 YouTube Data API v2 中的注释更改

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

简介

新的 YouTube 评论系统于 2013 年 11 月推出,由 Google+ 提供支持。得益于该系统,YouTube 用户可以为每个视频检索更多评论。新系统还可以更轻松地查找有意义的对话,因为评论是按与用户个人的相关性排序的。

虽然 YouTube Data API v3 目前不支持新评论,但您可以继续使用旧版 API (v2),但需注意以下几点(以及上文介绍的优势)。

我们建议您确认自己的集成现已继续正常运行,因为我们已切换到新的评论系统,并在遇到任何错误(文件问题 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。如需获取此 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. 通过身份验证的用户必须将 YouTube 频道与 Google+ 帐号相关联API 详细信息
  2. 必须通过 HTTPS 发送请求(默认情况下,当前版本的旧版客户端库支持此功能)

如果上述条件中有任何一个未满足,该 API 将返回错误。

由 Google+ 提供支持的评论提供话题功能。这对 YouTube 评论回复有何影响?

现在,在过渡之前进行的评论回复会以普通评论的形式显示。此外,我们不再支持通过 YouTube API 直接回复评论。目前,您无法通过 YouTube API 回复新式评论。

通过 YouTube 和 Google+ 网站和应用,对新式 YouTube 评论的回复不会随旧版 API 的评论 Feed 一起返回。不过,您可以通过 Google+ API 获得实际回复。

如果 YouTube 评论 Feed 条目表示新式评论,则该条目包含 <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+ 通知。

切换到新评论系统后,活动仍然在活动 Feed 中显示吗?

不,暂不启用。

旧版 API 中的 SUP 是否仍然可以使用注释功能?

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