为何调用YouTube Videos API批量查询视频ID时返回结果数量不一致?
批量查询YouTube视频ID仅返回部分结果的原因及解决方法
你遇到的问题核心原因是ID列表里的逗号后带有空格,YouTube Data API的id参数要求用无空格的逗号分隔多个视频ID,空格会被当作ID的一部分,导致后续ID被识别为无效值,因此仅返回第一个格式正确的ID对应的结果。
对比你的两次查询:
- 首次查询的ID串
Ks-_Mh1QhMc,c0KYU2j0TM4,eIho2S0ZahI中,逗号后无空格,三个ID均能被API正确解析,所以返回3条结果; - 第二次查询的ID串
fEdqosdeB4I, AsW3p94pLQQ, VwyBmZUz56Y中,每个逗号后都带有空格,API会把AsW3p94pLQQ(带前导空格)和VwyBmZUz56Y(带前导空格)判定为无效ID,自然无法返回对应结果。
解决方法
去掉ID列表中的所有空格,改为纯逗号分隔的格式即可:
activities = service.videos() request = activities.list( part="snippet", id="fEdqosdeB4I,AsW3p94pLQQ,VwyBmZUz56Y" )
你也可以单独在API测试页面验证:输入带前导空格的ID会返回空结果,去掉空格后就能正常查询到对应视频,这也能直接佐证空格是问题根源。
内容的提问来源于stack exchange,提问作者Tom Locke
相关产品推荐
相关产品推荐

