目前我正在开发一款从youtube视频id中获取音频url的应用程序。它对某些url非常有效,而对某些url则完全无效。甚至我在浏览器中复制了一个音频url,一个url有效,另一个无效。为了您的信息,我正在使用Mytoolkit.Multimedia来获取音频URL。例如-此url有效-https://r13---sn-h557sn7y.googlevideo.com/videoplayback?ipbits=0&mn=sn-h557sn7y&mm=31&pl=24&mime=音频/mp4&id=o-ACVoF4mkT7VFETu-c1pUD-2y3fiDbqhg_AWvjzMh6rLd&gir=是&mt=1486618643&ms=au&requiressl=yes&ip=103.6.159.152&upn=ck_ 2dMVCbO0&签名=C65C13CAE27021FA797E07C3C957F2106FA43F0C.542B383152E7D32AD7F5C3C386D7E4CCB7C846&lmt=1458210574977365&key=yt6&itag=140&keepalive=是&sparams=clen,dur,ei,gir,id,initcwndbps,ip,ipbits,itag,keepalive,lmt,mime,mm,mn,ms,mv,pl,requiresl,source,upn,expire&source=youtube&clan=4324664&initcwndbps=551250&ei=SgCcWKXHDM3ioAOdy6PgCA&mv=m&dur=272.230&过期=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,requiresl,source,upn,expire&pl=24&source=youtube&dur=258.089&keepalive=是&mv=m&gcr=在&ms=au&ei=gQCcWJyTEcS3oAPR3IjoCA&id=o-ACkoY4Axz1oHH7Ncr4llzAWZn8JoIFAtS7HTbve90Xgd&mt=1486618702&gir=是&upn=PF_MHOBEk38&ipbits=0&mime=音频/mp4&requiressl=yes&clan=4099627&expire=1486640353&itag=140&lmt=1438240696726539&initcwndbps=551250&签名=1CDC7B591477B660AEF655DC5687F750F57C8CFF4.FB05F885A99FFD0DE7B5D75AB2589C40FFF77
我还注意到,它不适用于那些参数以签名结尾的人,我想那没关系。我重新安排了参数,仍然是同样的错误(http错误403)。请注意,即使链接不工作谷歌铬。
还有其他方法吗,我从youtube视频id中提取音频。
感谢
您可以在YouTube数据API-错误中找到遇到错误403的可能原因。
基于给定的链路,error 403 - forbidden
基本上是由于未正确授权的请求。请检查并确保您设置了正确的授权,或者确保与请求相关联的权限足够。
我最终建立了一个自定义库来获取数据,问题不在于youtube链接,而在于我使用的库。