【问题标题】:Youtube Data API Search Returning Repeating ItemsYoutube 数据 API 搜索返回重复项
【发布时间】:2022-11-08 17:58:26
【问题描述】:

this question 的重复,因为我没有足够的代表来添加评论)。

本质上,当使用搜索并使用页面标记来获取更多结果时,后续页面中的结果往往具有前一页的结果。您浏览的页面越多,出现的重复视频就越多。

您可以通过the documentation 直接进行测试,它允许您从那里执行调用。对任何内容进行搜索查询,跟踪结果中的视频 ID,等待几秒钟,然后使用下一页令牌进行另一个查询,然后重复。有时大约需要 5 页左右才能显示副本。如果您搜索相关视频而不是查询,也会出现同样的问题。

这是预期的行为吗?我似乎无法在文档中找到任何提及这一点的内容。我可能错了,但我觉得这个问题只是在这个月才开始发生,因为我在大约一个月前正在处理的应用程序中没有注意到这种行为。

【问题讨论】:

  • YouTube 数据 API v3 具有一些错误.如果您不处理重复项目的次数与它们存在的次数一样多,那么是否存在其他问题(例如项目没有出现而它应该出现)?
  • 如果您仍然无法发表评论,请随时通过编辑您的问题来回答我的问题。
  • @BenjaminLoison 抱歉,我不太确定您通过处理重复项目来要求/建议什么。除了重复之外,一切正常。我注意到的问题是,过了一段时间,每页出现越来越多的重复项;如果您将其设置为每页仅返回 5 个项目,有时只会重复。
  • 在 YouTube 数据 API v3 端和 YouTube UI 端,Search: list 端点 is limited to 500 results 供您参考:youtube.com/results?search_query=YOUR_SEARCH_QUERY

标签: search pagination youtube youtube-api youtube-data-api


【解决方案1】:

Youtube API 以分页方式返回响应。这意味着如果您使用搜索功能,您的搜索结果将在不同的页面上可用,其中每个页面都有不同的页面令牌。 maxResults 参数确定每页上的结果数(默认值=50)。要解决此问题并在每次调用时返回新的/不同的响应,请传递下一页令牌到您的下一个 API 调用。

例如,如果您的第一个 API 调用如下所示:

GET https://youtube.googleapis.com/youtube/v3/search?part=snippet&maxResults=10&q=cricket&key=[YOUR_API_KEY]

您的 API 响应如下所示:

{
"kind": "youtube#searchListResponse",
"etag": "uN1c33JfiFaPBemlxN5kH8lSaHw",
"nextPageToken": "CAoQAA",
"regionCode": "IN",
"pageInfo": {
  "totalResults": 1000000,
  "resultsPerPage": 10
},

要获得这 1000000 个的下 10 个结果,请添加 pagetoken =下一页令牌对于您的查询,如下所示:

GET https://youtube.googleapis.com/youtube/v3/search?part=snippet&maxResults=10&pageToken=CAoQAA&q=cricket&key=[YOUR_API_KEY]

瞧!

{
"kind": "youtube#searchListResponse",
"etag": "NeaA5DLyr3YIaKdX5ZxETA3GfhY",
"nextPageToken": "CBQQAA",
"prevPageToken": "CAoQAQ",
"regionCode": "IN",
"pageInfo": {
  "totalResults": 1000000,
  "resultsPerPage": 10
}

您将获得接下来的 10 个结果!

第一页没有任何 PAGETOKEN,所以第一个 API 调用需要在没有 PAGETOKEN 参数的情况下进行

更多详细信息请参考官方文档: https://developers.google.com/youtube/v3/docs/search/list

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多