google-api - 如何通过 youtube 数据 api 从官方艺术家频道获取所有上传
问题描述
我正在尝试查询 youtube 以获取与频道相关的所有上传内容,但对于官方艺术家频道,例如:https ://www.youtube.com/channel/UC-jHioVmLr8Cb1lFBIZD2hQ/
当我尝试调用 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 做到这一点。
解决方案
您没有结果的原因是该 YouTube 频道(即 HRVY)尚未上传视频(尚未)。
在那里,您可以看到没有上传任何视频,但您可能想知道:如果我可以在此频道上看到视频,这怎么可能?
不幸的是,我不能确定为什么会发生这种情况,但是,如果您仍想从该频道检索视频,请使用id而不是id从特定播放列表中检索视频。playlistId
uploads
例如,来自该频道的“最受欢迎”播放列表有它的playlistId
: PLtz80rG4U0K99mMxPLNFPhwBIKkvzx9x1
。
推荐阅读
- python - Folium 0.11.0:保持标记层在前面
- python - 为列表中的每个项目随机分配一对而不重复
- javascript - React JS 解析 JSON 中的数据
- docker - 如何从命令提示符执行在 docker 容器内运行的 dotnetcore 项目?
- c# - 多选DataGridView c#
- c++ - 如何将 GLEW 和 GLFW 以及 OpenGL 链接到 MingW 的 g++
- android - Android:对邮件发送的附件进行排序
- python-3.x - psycopg2.ProgrammingError:无效的dsn:无效的连接选项“dBname”
- ruby-on-rails - 如何将包含敏感数据的文件部署到heroku?(带有 Settingslogic gem 的 Rails 项目)
- javascript - 终端错误 - 有人可以解释我应该在哪里寻找错误吗?