使用Youtube API获取相关视频遇400错误,求替代方案
问题:Youtube API获取指定视频相关视频报错400,原参数已移除的替代方案
我尝试通过Youtube API获取指定视频的相关视频,使用的请求URL如下:
GET https://youtube.googleapis.com/youtube/v3/search?relatedToVideoId=F608hzn_ygo&key=[YOUR_API_KEY]
但收到400错误响应:
{ "error": { "code": 400, "message": "Request contains an invalid argument.", "errors": [ { "message": "Request contains an invalid argument.", "domain": "global", "reason": "badRequest" } ], "status": "INVALID_ARGUMENT" } }
经排查,错误原因是参数relatedToVideoId已被移除,请问有什么其他方法可以获取相关视频?
可行替代方案
基于目标视频所属频道的关联视频获取
- 先调用
videos.list接口获取目标视频的频道ID:
从返回结果的GET https://youtube.googleapis.com/youtube/v3/videos?id=F608hzn_ygo&part=snippet&key=[YOUR_API_KEY]snippet.channelId字段提取频道ID。 - 调用
search.list接口,指定该频道ID,并结合目标视频的标题/描述关键词缩小范围,获取同频道内的相关视频:GET https://youtube.googleapis.com/youtube/v3/search?channelId=[CHANNEL_ID]&q=[提取的视频关键词]&type=video&key=[YOUR_API_KEY]
- 先调用
基于视频分类的关联视频获取
- 通过
videos.list接口获取目标视频的分类ID(snippet.categoryId字段):GET https://youtube.googleapis.com/youtube/v3/videos?id=F608hzn_ygo&part=snippet&key=[YOUR_API_KEY] - 调用
search.list接口,指定分类ID和视频关键词,获取同分类下的相关视频:GET https://youtube.googleapis.com/youtube/v3/search?videoCategoryId=[CATEGORY_ID]&q=[提取的视频关键词]&type=video&key=[YOUR_API_KEY]
- 通过
获取频道上传列表的关联视频
- 用频道ID调用
channels.list接口,获取该频道的上传播放列表ID(contentDetails.relatedPlaylists.uploads字段):GET https://youtube.googleapis.com/youtube/v3/channels?id=[CHANNEL_ID]&part=contentDetails&key=[YOUR_API_KEY] - 调用
playlistItems.list接口,获取该上传列表内的视频,这些视频通常和目标视频主题相关:GET https://youtube.googleapis.com/youtube/v3/playlistItems?playlistId=[UPLOADS_PLAYLIST_ID]&part=snippet&maxResults=20&key=[YOUR_API_KEY]
- 用频道ID调用
内容的提问来源于stack exchange,提问作者wagner
相关产品推荐
相关产品推荐

