【问题标题】:YouTube Data API no longer returns active live streams from search.listYouTube 数据 API 不再从 search.list 返回活跃的直播流
【发布时间】:2020-01-15 17:14:24
【问题描述】:

我编写了一个使用 YouTube Data API V3 的 search.list 的应用程序,它能够使用以下内容为指定频道(自 2018 年开始工作)提取活动直播流:

https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCSJ4gkVC6NrvII8umztf0Ow&type=video&eventType=live&key={MYAPIKEY}

截至 2019 年 9 月 12 日,以上内容不再为我返回任何结果。

将搜索范围扩大到指定频道的所有视频也不再显示活动直播:

https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCSJ4gkVC6NrvII8umztf0Ow&order=date&key={MYAPIKEY}

但是,搜索活动直播的 ID 本身可以返回有关视频的信息,这让我相信仍然有办法做到这一点:

https://www.googleapis.com/youtube/v3/videos?part=snippet&id=hHW1oY26kxQ&key=

我正在寻找一种新的解决方案,它能够查询频道以查看他们是否有正在运行的活动直播,并获取该直播的属性。

【问题讨论】:

  • 我遇到了同样的问题,并注意到直播视频在 API 搜索结果中显示为“liveBroadcastContent”:“upcoming”,尽管它们目前正在直播和流式传输。

标签: google-api youtube-api youtube-data-api google-apis-explorer


【解决方案1】:

更新:问题似乎已由 Google 解决,并且可以正常工作。

我遇到了同样的问题,搜索 API eventType=live 不再给出任何结果,并且在没有 eventType 的情况下对其进行编码会显示所有视频,包括实时视频,但是无法对其进行排序,因为 livebroadcastcontent 说没有,即使它是实时的一。我希望这是一个暂时的失败。将 channelId 更改为 channelId 并不能解决问题。

我得到了一个临时解决方案,如下所示。删除 channelId 并使用关键字代替 q=... 这将返回直播。这不是最好或最方便的解决方案,但它帮助了我一点。我认为 YouTube 必须使用 eventType-live 解决我们的问题 n,但它仍然无法正常工作。

【讨论】:

  • 您是否能够查询活动流或刚刚播放的视频?使用 search.list,不包括 eventType 我仍然无法看到活动流。
  • 这里有同样的问题。我的用例是我需要为特定频道查找直播。如果我删除 eventType 参数,则返回实时视频,但无法判断它是实时的,因为所有结果都有 liveBroadcastContent: none 因为我知道视频的确切标题我能够暂时使用解决方法并使用q=videonameeventType=live 找到它。使用channelId作为参数的实时视频搜索似乎被破坏了。
  • 不幸的是,您的临时解决方案不适用于我的用例,因为关键字无法充分缩小到单个渠道。我不能保证我查询的频道会始终使用唯一的关键字。
【解决方案2】:

您的搜索查询类型(与给定频道相关)可以替换为对相应channel's uploads playlist 的适当查询。

执行此操作后,请在 Videos endpoint 中查询您确定要新添加的视频集(通过您之前对 PlaylistItems endpoint 的调用)。

对于每个此类视频,请访问属性liveBroadcastContent

【讨论】:

  • 查询频道的上传播放列表似乎不会返回活动的直播。这是我正在测试的播放列表,其中不包含活动直播:youtube.com/playlist?list=UUSJ4gkVC6NrvII8umztf0Owhttps://www.googleapis.com/youtube/v3/playlistItems?key=APP_KEY&part=contentDetails&fields=items/contentDetails&playlistId=UUSJ4gkVC6NrvII8umztf0Ow&order=date
【解决方案3】:

看起来在谷歌方面发生了一些变化。将“channelId”更改为“channelID”,它应该可以工作。不过,他们的文档仍然显示 channelId,所以也许他们会改回来。

【讨论】:

  • 你在使用search.list吗? channelId 对我来说工作正常,可以缩小到 1 个频道。 channelID 不过滤结果。
【解决方案4】:

YouTube 数据 API 肯定有问题。如果您在开发人员控制台上尝试Search: list,如果您提供channelId,它将无法正常工作。但是,如果您提供channelId,它将始终返回 0 个结果。我已经在其他几个正在直播的频道上进行了尝试。

还有其他几个人发布了同样的问题。所以我们不是唯一遇到这个问题的人。 Google 需要解决一些问题。

【讨论】:

  • 这对您来说可能是间歇性问题吗?我可以在提供channelId 的同时查询并获得结果。结果只是缺少直播,但会显示常规视频。
  • @danviho 它不是间歇性的。提供channelId 时不返回直播信息。目前,问题依然存在。
【解决方案5】:

我希望我的贡献不会太晚。我遇到了同样的问题,当我的查询 (q) 留在新闻时,但当我将其更改为我的频道上传常用的术语时,我得到了正确的响应。 part=sn-p&type=video&event_type=live&channel_id=****&key=******&q=[youchanneltitleorkeyword]

【讨论】:

    猜你喜欢
    • 2021-05-10
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 2017-12-01
    • 2016-11-28
    • 2014-03-28
    • 2016-08-28
    相关资源
    最近更新 更多