我一直在努力完成一项我认为很简单的任务:将视频添加到youtube播放列表中。我有uri和视频id,所以这应该有效,对吧?
uri = "http://gdata.youtube.com/feeds/api/users/dolkarr/playlists/AAnCXJ-nfQZwZYqo69euVZVyJ_XofIJs"
vid = "dmoDLyiQYKw"
video = yt_service.AddPlaylistVideoEntryToPlaylist(uri, vid)
但它返回这个错误响应:
gdata.service.RequestError:{"状态":400,"正文":"无效请求URI","原因":"错误请求"}
经过一番研究,我发现它只适用于我的一些旧播放列表中的16个字符的播放列表ID。前缀"PL"没有区别。有人通过使用不包含"-"的播放列表ID"解决"了这个问题,但我无法创建这样的播放列表!它们都是从AAnCXJ-nfQ
开始的。。。
所以,我只想问。。。有可能做到这一点吗?要么以某种方式创建一个带有老式ID的播放列表,要么让它接受这些。。。我需要创建几个播放列表,每个播放列表有200个视频,我真的不想手动填充它们。。。感谢您的回复!
uri="http://gdata.youtube.com/feeds/api/users/dolkarr/playlists/AAnCXJ-nfQZwZYqo69euVZVyJ_XofIJs"
您应该删除用户/userid,成为
uri="http://gdata.youtube.com/feeds/api/playlists/AAnCXJ-nfQZwZYqo69euVZVyJ_XofIJs"
看看:https://developers.google.com/youtube/1.0/developers_guide_python#AddVideoToPlaylist
为了获得最佳结果,我建议您使用Data API v3
有一个伟大的Python示例,它完成了您正在尝试做的事情。'https://developers.google.com/youtube/v3/docs/playlistItems/insert#examples'
这应该会让你很快开始。
我认为最好的做法总是使用前缀PL:
来自本文:
http://apiblog.youtube.com/2012/08/playlists-now-with-more-pl.html
虽然我们暂时将继续支持使用不固定的播放列表ID作为元数据或在API请求URL中使用,但在未来的某个时候,我们可能会要求在提供播放列表ID时使用"PL"前缀。如果我们决定停止支持具有未固定播放列表ID的请求,我们将提供额外的指导
但据报道存在问题
https://groups.google.com/forum/#!主题/youtube api gdata/0c6或RZ7bg
我相信,如果您使用PL前缀并得到错误,那么您必须报告一个可能的错误