我正在尝试找出给定频道ID的上传播放列表ID的最佳方法。例如,对于具有频道ID UC9CuvdOVfMPvKCiwdGKL3cQ 的频道:
相应的上传播放列表ID 为
UU9CuvdOVfMPvKCiwdGKL3cQ
请注意,第二个字符已从“C”更改为“U”。
我可以通过字符串操作进行此转换,但我想知道是否有更好的、非黑客式的方法通过Youtube官方API查找上传播放列表ID。
以下是一些Kotlin代码,展示了我的问题:
我可以通过以下Youtube API v3搜索找到“Game Grumps”频道的频道ID:
val req = youtube.search().list("snippet");
req.key = {API_KEY}
req.q = "Game Grumps"
req.type = "channel"
val response = req.execute();
得到的频道ID(response.items[0].snippet.channelId)是UC9CuvdOVfMPvKCiwdGKL3cQ。
但是,当我运行以下代码尝试获取该频道上传的视频时,必须使用经过转换的频道ID(以UU开头而不是UC)。
val req = youtube.PlaylistItems().list("snippet")
req.playlistId = "UU9CuvdOVfMPvKCiwdGKL3cQ"
req.key = {API_KEY}
val response = req .execute()
如果我使用未转换的“UC”频道ID,会出现以下错误:无法找到带有请求的
playlistId
参数标识的播放列表。除了仅仅用“U”替换第二个字符之外,有什么更稳健的方式(例如使用YouTube API)将Channel ID翻译为Playlist ID(用于该频道的上传内容)?