首页 > 解决方案 > 如何通过 youtube 数据 api 从官方艺术家频道获取所有上传

问题描述

我正在尝试查询 youtube 以获取与频道相关的所有上传内容,但对于官方艺术家频道,例如:https ://www.youtube.com/channel/UC-jH​​ioVmLr8Cb1lFBIZD2hQ/

当我尝试调用 API 来检索“上传”播放列表时,它会成功,但会返回一个空的播放列表。

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=UC-jHioVmLr8Cb1lFBIZD2hQ通过(API 密钥省略)返回查找上传播放列表

{
    "kind": "youtube#channelListResponse",
    "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/SQbT6DxUQ-PRgTma_VN0xA8OmHE\"",
    "pageInfo": {
        "totalResults": 1,
        "resultsPerPage": 1
    },
    "items": [
        {
            "kind": "youtube#channel",
            "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/m44G0g4BqX0Af7CaFKoFcqJDqm0\"",
            "id": "UC-jHioVmLr8Cb1lFBIZD2hQ",
            "contentDetails": {
                "relatedPlaylists": {
                    "uploads": "UU-jHioVmLr8Cb1lFBIZD2hQ",
                    "watchHistory": "HL",
                    "watchLater": "WL"
                }
            }
        }
    ]
}

https://www.googleapis.com/youtube/v3/playlistItems?playlistId=UU-jHioVmLr8Cb1lFBIZD2hQ&part=id,contentDetails&maxResults=50但通过返回检索上传播放列表中的项目

{
    "kind": "youtube#playlistItemListResponse",
    "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/E0c9LqWjuNHvL-UjCIKS4N9Fn5M\"",
    "pageInfo": {
        "totalResults": 0,
        "resultsPerPage": 50
    },
    "items": []
}

我希望能够从视频选项卡中提取显示的视频,但似乎无法使用 api 做到这一点。

标签: google-apiyoutube-apiyoutube-data-api

解决方案


您没有结果的原因是该 YouTube 频道(即 HRVY)尚未上传视频(尚未)

您可以从 HRVY 频道查看上传的视频页面


在那里,您可以看到没有上传任何视频,但您可能想知道:如果我可以在此频道上看到视频,这怎么可能?

不幸的是,我不能确定为什么会发生这种情况,但是,如果您仍想从该频道检索视频,请使用id而不是id从特定播放列表中检索视频。playlistIduploads

例如,来自该频道的“最受欢迎”播放列表有它的playlistId: PLtz80rG4U0K99mMxPLNFPhwBIKkvzx9x1


推荐阅读