某些 youtube 网址禁止使用 403

403 forbidden for some youtube urls

目前我正在开发一个从 YouTube 视频 ID 获取音频 url 的应用程序。 它对某些 url 完美运行,而对某些 url 完全不起作用。 甚至我在浏览器中复制播放音频 url,一个 url 工作其他没有。 为了您的信息,我正在使用 Mytoolkit.Multimedia 来获取音频 urls。 例如- 这个 url 有效- https://r13---sn-h557sn7y.googlevideo.com/videoplayback?ipbits=0&mn=sn-h557sn7y&mm=31&pl=24&mime=audio/mp4&id=o-ACVoF4mkT7VFETu-c1pUD-2y3fiDbqhg_AWvjzMh6rLd&gir=yes&mt=1486618643&ms=au&requiressl=yes&ip=103.6.159.152&upn=ck_2dMVCbO0&signature=C65C13CAE27021FA797E07C3C957F2106FA43F0C.542B383152E7D32AD7F5C3C386D7D7E4CCB7C846&lmt=1458210574977365&key=yt6&itag=140&keepalive=yes&sparams=clen,dur,ei,gir,id,initcwndbps,ip,ipbits,itag,keepalive,lmt,mime,mm,mn,ms,mv,pl,requiressl,source,upn,expire&source=youtube&clen=4324664&initcwndbps=551250&ei=SgCcWKXHDM3ioAOdy6PgCA&mv=m&dur=272.230&expire=1486640298

这个url不起作用- https://r9---sn-h557sn7r.googlevideo.com/videoplayback?mn=sn-h557sn7r&mm=31&key=yt6&ip=103.6.159.152&sparams=clen,dur,ei,gcr,gir,id,initcwndbps,ip,ipbits,itag,keepalive,lmt,mime,mm,mn,ms,mv,pl,requiressl,source,upn,expire&pl=24&source=youtube&dur=258.089&keepalive=yes&mv=m&gcr=in&ms=au&ei=gQCcWJyTEcS3oAPR3IjoCA&id=o-ACkoY4Axz1oHH7Ncr4llzAWZn8JoIFAtS7HTbve90Xgd&mt=1486618702&gir=yes&upn=PF_MHOBEk38&ipbits=0&mime=audio/mp4&requiressl=yes&clen=4099627&expire=1486640353&itag=140&lmt=1438240696726539&initcwndbps=551250&signature=1CDC7B591477B660AEF655DC5687F750F57C8CFF44.FB05DE5F885A99FFD0DE7B5D75AB2589C40FFF77

我还注意到,它不适用于那些参数以签名结尾的人, 我猜想 matter.I 没有重新安排参数,仍然是同样的错误(http 错误 403)。 请注意-即使链接无效 google chrome.

有没有其他方法,我可以从 youtube 视频 ID 中提取音频。

谢谢

您可能会在 YouTube Data API - Errors 中找到遇到错误 403 的可能原因。

根据给定的 link,error 403 - forbidden 基本上是由于未正确授权的请求。请检查并确保您设置了适当的授权或确保与请求关联的权限足够。

我最终构建了一个自定义库来获取数据,问题不在于 youtube 链接,而是我正在使用的库。