YouTube API:为YouTube频道获取playlistid



我试图找出鉴于频道的频道ID的最佳方法来获取频道的上传playlistid。例如。对于通道

的通道

uc9cuvdovfmpvkciwdgkl3cq

相应的上传playlistid是

uu9cuvdovfmpvkciwdgkl3cq

请注意,第二个字符已从" C"变为" U"

我可以通过字符串操纵进行此转换,但是我很好奇是否有一种更好,少的方法可以通过官方YouTube API找到上传播放列表ID。

这是一些kotlin代码,显示了我的问题:

我可以通过以下YouTube API V3搜索找到"游戏脾气暴躁"频道的频道ID:

            val req = youtube.search().list("snippet");
            req.key = {API_KEY}
            req.q = "Game Grumps"
            req.type = "channel"
            val response = req.execute();

生成的通道ID(响应。items [0] .snippet.channelid)是UC9CUVDOVFMPVKCIWDGKL3CQ

但是,当我运行以下操作以尝试获取频道上传的视频时,我必须使用转换的ChannelID(以UU开头而不是UC)

            val req = youtube.PlaylistItems().list("snippet")
            req.playlistId = "UU9CuvdOVfMPvKCiwdGKL3cQ"
            req.key = {API_KEY}
            val response = req .execute()

如果我使用未转换的" UC"频道ID,我会收到以下错误:找不到请求playlistId参数的播放列表。

而不是仅仅用" u"替换第二个字符,而是将ChannelID转换为playlistid(用于该通道的上传)的更健壮的方法(例如,使用YouTube API)是什么?

我建议使用官方的YouTube API,而不是尝试操纵字符串。您可以在此处遵循说明:

指令获取V3

中所有上传视频的视频ID
  1. 获取所需的频道的通道ID(您可能只需要一次执行此操作,然后可以保存)
    • 使用search.list
    • 将类型设置为通道
    • 将Q设置为所需的频道的名称
    • 获取通道ID(类似的内容:" ChannelID":" UC0X2VUXXXXXXXXXXXXXXXX")
  2. 从步骤1开始使用频道ID获取通道上传的播放列表ID(您可能只需要一次执行此操作,然后可以保存它)
    • 使用channels.list
    • 将ID设置为uc0x2vuxxxxxxxxxxxxxxxxx从步骤1
    • 从ContentDetails获取上传键(类似的内容:"上传":" UU0XXXXXXXXXXXXXXXXXXXXXXXX")
  3. 使用播放列表中的播放列表中的播放列表ID从步骤2中获取视频
    • 使用playlistitems.list
    • 将playlistid设置为uu0xxxxxxxxxxxxxxxxxxxxxxx
    • 浏览每个播放列表并拔出视频ID

相关内容

  • 没有找到相关文章

最新更新