首页 > 解决方案 > Youtube API 频道搜索跳过列表中的视频

问题描述

我有一个应用程序正在对 YouTube 进行 API 调用,以获取某个频道的最新视频。突然,它生成的列表不完整。

我已经手动搜索了它抓取的特定视频,它跳过了一个比较 JSON 结果的视频,看看是否有什么东西使视频不同,但据我所知,除了明显的逻辑差异(标题, id 等;) 没有。

原始频道搜索调用如下所示: https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCi8e0iOVk1fEOogdfu4YgfA&maxResults=10&order=date&type=video&key={API_KEY}

响应是一个列表,似乎无缘无故地不断跳过大约 4 个视频。

以下是我拨打特定 ID 时跳过的视频示例:

    "kind": "youtube#videoListResponse",
    "etag": "\"p4VTdlkQv3HQeTEaXgvLePAydmU/DoiqTSh7UcwtVvH87b5HIMkDSAA\"",
    "pageInfo": {
        "totalResults": 1,
        "resultsPerPage": 1
    },
    "items": [
        {
            "kind": "youtube#video",
            "etag": "\"p4VTdlkQv3HQeTEaXgvLePAydmU/psJBlwJjAqrqgzcYJJIcvpK4mrI\"",
            "id": "txDYwh46tew",
            "snippet": {
                "publishedAt": "2019-09-17T18:00:40.000Z",
                "channelId": "UCi8e0iOVk1fEOogdfu4YgfA",
                "title": "The Secret Garden International Trailer #1 (2020) | Movieclips Trailers",
                "description": [removed for stackoverflow formatting],
                "thumbnails": {
                    "default": {
                        "url": [removed for stackoverflow formatting],
                        "width": 120,
                        "height": 90
                    },
                    "medium": {
                        "url": [removed for stackoverflow formatting],
                        "width": 320,
                        "height": 180
                    },
                    "high": {
                        "url": [removed for stackoverflow formatting],
                        "width": 480,
                        "height": 360
                    },
                    "standard": {
                        "url": [removed for stackoverflow formatting],
                        "width": 640,
                        "height": 480
                    },
                    "maxres": {
                        "url": [removed for stackoverflow formatting],
                        "width": 1280,
                        "height": 720
                    }
                },
                "channelTitle": "Movieclips Trailers",
                "tags": [
                    "The Secret Garden",
                    "The Secret Garden Trailer",
                    "The Secret Garden Movie Trailer",
                    "The Secret Garden Trailer 2019",
                    "The Secret Garden Official Trailer",
                    "Trailer",
                    "Trailers",
                    "Movie Trailers",
                    "2019 Trailers",
                    "The Secret Garden Trailer 1",
                    "Movieclips Trailers",
                    "Movieclips",
                    "Fandango",
                    "Entertainment",
                    "Movies",
                    "Drama",
                    "Family",
                    "Fantasy",
                    "Marc Munden",
                    "Colin Firth",
                    "Maeve Dermody",
                    "Julie Walters"
                ],
                "categoryId": "1",
                "liveBroadcastContent": "none",
                "localized": {
                    "title": "The Secret Garden International Trailer #1 (2020) | Movieclips Trailers",
                    "description": [removed for stackoverflow formatting]
                },
                "defaultAudioLanguage": "en"
            }
        }
    ]
}

这是视频中的一个类似示例,它在原始更广泛的搜索中成功返回:

{
    "kind": "youtube#videoListResponse",
    "etag": "\"p4VTdlkQv3HQeTEaXgvLePAydmU/kvDQkVJCJaguSZLpfF9hJWR7sVw\"",
    "pageInfo": {
        "totalResults": 1,
        "resultsPerPage": 1
    },
    "items": [
        {
            "kind": "youtube#video",
            "etag": "\"p4VTdlkQv3HQeTEaXgvLePAydmU/WYxiNVjYVTjfwUuXqUpGeoV4KDA\"",
            "id": "C8HrLHSBVJo",
            "snippet": {
                "publishedAt": "2019-09-16T22:22:16.000Z",
                "channelId": "UCi8e0iOVk1fEOogdfu4YgfA",
                "title": "Know Before You Go: Rambo: Last Blood | Movieclips Trailers",
                "description": [removed for stackoverflow formatting],
                "thumbnails": {
                    "default": {
                        "url": [removed for stackoverflow formatting],
                        "width": 120,
                        "height": 90
                    },
                    "medium": {
                        "url": [removed for stackoverflow formatting],
                        "width": 320,
                        "height": 180
                    },
                    "high": {
                        "url": [removed for stackoverflow formatting],
                        "width": 480,
                        "height": 360
                    },
                    "standard": {
                        "url": [removed for stackoverflow formatting],
                        "width": 640,
                        "height": 480
                    },
                    "maxres": {
                        "url": [removed for stackoverflow formatting],
                        "width": 1280,
                        "height": 720
                    }
                },
                "channelTitle": "Movieclips Trailers",
                "tags": [
                    "rambo last blood know before you go",
                    "know before you go",
                    "fandango",
                    "movieclips",
                    "trailers",
                    "rambo",
                    "last blood",
                    "rambo last blood",
                    "Sylvester Stallone",
                    "Paz Vega",
                    "Yvette Monreal",
                    "Adrian Grunberg",
                    "action",
                    "adventure",
                    "thriller",
                    "first blood",
                    "all rambo movies",
                    "rambo movies",
                    "rambo movies explained",
                    "rambo franchise explained",
                    "slyvester stallone",
                    "rambo explained",
                    "new rambo movie",
                    "new rambo trailer",
                    "sylvester stallone rambo"
                ],
                "categoryId": "1",
                "liveBroadcastContent": "none",
                "defaultLanguage": "en",
                "localized": {
                    "title": "Know Before You Go: Rambo: Last Blood | Movieclips Trailers",
                    "description": [removed for stackoverflow formatting]
                },
                "defaultAudioLanguage": "en"
            }
        }
    ]
}

频道 ID 都匹配,并且发布日期显示跳过的视频比它成功找到的视频发布的时间更晚。考虑到原始呼叫设置为按日期排序,因此没有理由将跳过的视频排除在结果之外。在找到的视频中,它们按时间顺序正确排序,因此它似乎也不是 order 参数。

我希望 API 搜索结果会以未过滤的 10 个在频道上发布的最新视频的列表作为响应。直到几天前,它一直在毫无问题地执行此操作。由于通话没有任何变化,它突然开始以一致的行为丢失视频。我不知道为什么这种行为会突然改变。

标签: youtube-api

解决方案


推荐阅读