当前位置: 首页 > 知识库问答 >
问题:

总结果计数与 YouTube v3 搜索 API 中返回的实际结果不匹配

阙繁
2023-03-14

我们正在使用youtube v3搜索API。我们在“totalResults”计数和 response.items 字段中返回的项目列表中不匹配。我在请求中请求了 50 个视频。返回的响应显示总结果计数为 65,但响应负载只有 3 个视频。

API:www.googleapis.com/youtube/v3/search/list

请求有效载荷

{key=API_KEY, maxResults=50, order=date, part=snippet, publishedAfter=2017-03-20T23:59:59.999-04:00, publishedBefore=2017-04-19T23:59:59.001-04:00, q=( ( "Wood Mackenzie" OR "Wood Mac" OR Woodmac OR @woodmackenzie ) AND NOT (fleetwood OR "fleet wood" OR 9WoodMac ) )  , type=video}

响应有效载荷

{
 "kind": "youtube#searchListResponse",
 "etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/HTW4WQODZeERIv51VrRfOhir8dg\"",
 "nextPageToken": "CDIQAA",
 "regionCode": "US",
 "pageInfo": {
  "totalResults": 65,
  "resultsPerPage": 50
 },
 "items": [
  {
   "kind": "youtube#searchResult",
   "etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/lnNNrToZHGTehIEJ6bvEx5RZMo4\"",
   "id": {
    "kind": "youtube#video",
    "videoId": "obzlB21t904"
   },
   "snippet": {
    "publishedAt": "2017-04-14T11:38:08.000Z",
    "channelId": "UC60Sa1LQjgy_a-K8ThN4eQw",
    "title": "Fleet wood mac Live at Leeds",
    "description": "",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/obzlB21t904/default.jpg",
      "width": 120,
      "height": 90
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/obzlB21t904/mqdefault.jpg",
      "width": 320,
      "height": 180
     },
     "high": {
      "url": "https://i.ytimg.com/vi/obzlB21t904/hqdefault.jpg",
      "width": 480,
      "height": 360
     }
    },
    "channelTitle": "KEVIN MARSHALL",
    "liveBroadcastContent": "none"
   }
  },
  {
   "kind": "youtube#searchResult",
   "etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/uYuuTAL3vtnFI1WOYjth0cso2Xo\"",
   "id": {
    "kind": "youtube#video",
    "videoId": "gHAn0SbwKMg"
   },
   "snippet": {
    "publishedAt": "2017-04-06T22:17:31.000Z",
    "channelId": "UC3_MxBSSbmGznoSTgoBQ7_w",
    "title": "Beat Club: British Invasion 60's, Pt-2; Animals-Move-Fleet Wood Mac-J.Mayall-Who-Pacemakers-Kinks",
    "description": "Eric Burdon & Animals: C.C. Rider 0:01 The Move: Wild Tiger Woman 3:55 Fleet Wood Mac: Dragonfly 6:26 John Mayall: My Pretty Girl 9:47 Thunderclap ...",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/gHAn0SbwKMg/default.jpg",
      "width": 120,
      "height": 90
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/gHAn0SbwKMg/mqdefault.jpg",
      "width": 320,
      "height": 180
     },
     "high": {
      "url": "https://i.ytimg.com/vi/gHAn0SbwKMg/hqdefault.jpg",
      "width": 480,
      "height": 360
     }
    },
    "channelTitle": "ROCK&POPS1_koba",
    "liveBroadcastContent": "none"
   }
  },
  {
   "kind": "youtube#searchResult",
   "etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/tapelxOG4Q3gZRJCR2qaVdt-ZO8\"",
   "id": {
    "kind": "youtube#video",
    "videoId": "5GvLbFBdcF4"
   },
   "snippet": {
    "publishedAt": "2017-04-02T04:48:47.000Z",
    "channelId": "UC6fn383TI1HVDYW4dSEIogQ",
    "title": "\"Dreams\" by fleet wood mac (vocal cover)",
    "description": "I do not own this song. I do not make a profit off of this song. It belongs to the person(s) who wrote it. Please subscribe and comment below any suggestions?!",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/5GvLbFBdcF4/default.jpg",
      "width": 120,
      "height": 90
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/5GvLbFBdcF4/mqdefault.jpg",
      "width": 320,
      "height": 180
     },
     "high": {
      "url": "https://i.ytimg.com/vi/5GvLbFBdcF4/hqdefault.jpg",
      "width": 480,
      "height": 360
     }
    },
    "channelTitle": "Musikallitee",
    "liveBroadcastContent": "none"
   }
  }
 ]
}

共有1个答案

有凯泽
2023-03-14

如文档本身所述,总结果为:

整数

结果集中的结果总数。请注意,该值是近似值,可能不代表精确值。此外,最大值为1000000。

不应使用此值创建分页链接。相反,请使用 nextPageToken 和 prevPageToken 属性值来确定是否显示分页链接。

该值只是近似值/估计值,而不是返回的< code>items总数的精确值。我已经用与您相同的细节测试了API,并且值倾向于从< code>63,到< code>64和< code>65变化。

综上所述,您的代码中没有错。这只是预期的行为。不幸的是,没有在任何地方说明totalResults的值基于何处或最适合使用它的位置。最好继续使用不依赖于此参数的实现。

 类似资料:
  • 我正在用Hibernate Search 4.5.1和Spring 4.0.5版本构建一个应用程序。我正在尝试索引以下类: 我正在构建一个junit测试用例,看起来如下所示: 我还注意到在luke lucene上,一些索引词的长度最多为6个字符,例如,一首歌的艺术家是“后代”,而索引中存储的词是“the”和“offspr”。第一个可以,但第二个不应该是“后代”。为什么要截断名字?

  • 问题内容: 我想获取动态生成的HQL查询的结果计数,而无需实际获取结果列表。说我的查询是这样的: 我在Hibernate文档中看到: 您可以计算查询结果的数量而无需返回它们: 我怀疑应该用查询替换 .... ,但这不起作用,因为HQL不支持FROM中的子选择。 那么,我应该如何计算动态生成的HQL查询的结果?我认为通过执行它并获取结果列表的.size()可能是不必要的开销。 干杯! 更新: 我使用

  • 我在Google Directions API中搜索了文档,也在网上搜索了一下,没有找到我的难题的答案。我的机构开发了一个API,可以使用transit查找出发地和目的地之间最新的可能出发点,有几个返回“无结果”错误。然而,当我手动搜索谷歌地图时,我能够返回结果。 我的Google Directions API程序发出以下查询: https://maps.googleapis.com/maps/a

  • 我有三个索引,它们都共享一个特定的键值对。当我用api进行全面搜索时”http://localhost:9200/_search“使用请求正文 它只返回其中两个索引的结果。我尝试使用相同的请求正文,将url更改为仅在丢失的索引中搜索”http://localhost:9200/index_name/_search“这很管用。我有什么遗漏吗? 插入所有三个索引的代码遵循相同的过程,我使用elasti

  • 我已经完成了名称索引。它包含椅子、椅子等数据。 当我尝试用“cha”搜索时,它不会返回任何椅子。这是返回“毛毯”,我期待的文件有椅子。 下面是我的代码: 搜索请求: 搜索响应: } 映射: 我该怎么解决这个问题? 谢谢,Sri

  • 我有一个问题,我想把弹性搜索的结果减少到1000个,不管有多少匹配的结果匹配,但这不应该影响排名和得分。 我在尝试,但这似乎只是告诉弹性搜索只获得前N个结果,而不考虑分数。如果我说错了,请纠正我。 有什么帮助吗? 编辑: 我已经在使用分页。因此,在From/Size中使用Size只会影响当前页面的大小。但我想将总结果的大小限制为1000,然后对其进行分页。