【问题标题】:youtube api v3 search returns different results from youtube siteyoutube api v3 搜索从 youtube 网站返回不同的结果
【发布时间】:2014-07-09 05:47:19
【问题描述】:

我正在尝试使用以下网址对 v3 api 进行搜索: https://www.googleapis.com/youtube/v3/search?part=id,snippet&channelId=UCtVd0c0tGXuTSbU5d8cSBUg&maxResults=10&order=date&q=game&key=[API_KEY]

但这只会返回一个播放列表。

当我直接在 youtube 网站上进行此搜索时,它会向我返回更多结果: https://www.youtube.com/user/YouTubeDev/search?query=game

为什么会这样,是我做错了什么吗?

【问题讨论】:

    标签: search youtube-api


    【解决方案1】:

    我们在尝试搜索大量内容时遇到了类似的问题。如果您使用publishedAfter 和publishedBefore 将您要查找的时间范围设置为非常小的范围(例如1 小时),这一点尤其明显。即使我们得到非常小的结果集(当我们尝试使用 pageToken 时,您只能在 API 上分页大约 20 次,所以当我们的 totalResults 小于 1,000 时),我们发现实际上只有 540 个项目.

    我们联系了 YouTube,那里的联系人确认 totalResults 只是一个估计值,实际上并不准确。您可能会得到指定数量的物品,但不能保证您会得到确切的数量。最好的办法是尽可能多地捕获数据,并使用不同的时间范围扫描数据。

    来源:Reddit

    【讨论】:

      【解决方案2】:

      在第一个中,您使用的是 search->list 方法。哪个在搜索频道?

      在第二个中,您正在频道内进行播放列表搜索。 您可以通过 playlists->list 在 API 上执行相同操作。

      (或者如果您想直接播放频道内的视频,请使用videos->list)

      【讨论】:

      • 我的想法是搜索视频/播放列表,这是我在第一个链接上尝试做的。第二个想法是做同样的事情,但在 youtube 网站上,所以我也在搜索视频和播放列表,而不仅仅是播放列表。我试图在 api 中查看这里,并且播放列表->列表和视频->列表不支持我在搜索中使用的 q 参数,所以我相信这不会有帮助,不是吗?
      【解决方案3】:

      可能是一个错误。如果已提交但尚未提交,您可以在此处提交:https://code.google.com/p/gdata-issues/issues/list?q=label%3aAPI-YouTube

      问题好像是参数order=date引起的。 将订单添加到“YouTube 查询”(使用频道):https://www.youtube.com/channel/UCtVd0c0tGXuTSbU5d8cSBUg/search?query=game&order=date,并没有什么不同。但是,从“api 请求”中省略 order 会得到相同的结果(6 项):https://www.googleapis.com/youtube/v3/search?part=id,snippet&channelId=UCtVd0c0tGXuTSbU5d8cSBUg&maxResults=10&q=game&key=YOUR-API-KEY-HERE 请注意,在 api 请求中使用 order=date 仅显示 1 项,而相同的响应显示 totalResults": 6 (这似乎是正确的)。我没有尝试所有,但使用 order=relevance 并没有给出这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-11
        • 1970-01-01
        • 2017-09-16
        • 2018-11-17
        • 2019-06-19
        • 2019-11-12
        相关资源
        最近更新 更多