Youtube API:用新32字符播放列表ID添加视频到播放列表

1 投票
3 回答
1786 浏览
提问于 2025-04-17 14:51

我一直在为一个我以为很简单的任务而苦恼:把视频添加到YouTube播放列表中。我已经有了视频的链接和视频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: {'status': 400, 'body': '无效的请求链接', 'reason': '错误的请求'}

经过一番研究,我发现这个操作只适用于16个字符的播放列表ID,而我一些旧的播放列表正好有这样的ID。加上“PL”前缀并没有什么区别。

有人通过使用不包含“-”的播放列表ID来“解决”这个问题,但我无法创建这样的播放列表!我所有的播放列表都以AAnCXJ-nfQ开头……

所以,我想问的是……有没有可能让这个操作成功?要么通过某种方式创建一个旧式ID的播放列表,要么让它接受这些新的ID……我需要创建几个播放列表,每个播放列表有200个视频,我真的不想一个个手动填入……谢谢你的回复!

3 个回答

0

我觉得最好的做法是总是使用前缀 PL:

来自这篇文章:

http://apiblog.youtube.com/2012/08/playlists-now-with-more-pl.html

虽然我们目前会继续支持不带前缀的播放列表 ID 作为元数据或在 API 请求 URL 中使用,但将来某个时候,我们可能会要求在提供播放列表 ID 时必须使用“PL”前缀。如果我们决定停止支持不带前缀的播放列表 ID 请求,我们会提供更多指导。

不过已经有一些问题被报告了

https://groups.google.com/forum/#!topic/youtube-api-gdata/0c6dorRZ7bg

我相信如果你使用了 PL 前缀但仍然遇到错误,那你就应该报告可能的 bug。

0

为了获得最佳效果,我建议你使用数据API v3。

这里有一个很棒的Python示例,可以帮助你完成你想做的事情。'https://developers.google.com/youtube/v3/docs/playlistItems/insert#examples'

这个示例应该能让你很快入门。

撰写回答