使用Android youtube ApI v3从youtube url获取视频id

使用Android youtube ApI v3从youtube url获取视频id,android,youtube-api,youtube-data-api,Android,Youtube Api,Youtube Data Api,我正在使用Android Youtube API v3。我的应用程序播放youtube视频。我想从youtube url获取视频ID。 我看到有很多示例使用模式解析url以获取视频ID。 但我担心,当youtube将来更改其url时,这种方法会失败。 youtube视频url有几种格式: http://www.youtube.com/watch?v=0zM4nApSvMg&feature=feedrec_grec_index http://www.youtube.com/user/Som

我正在使用Android Youtube API v3。我的应用程序播放youtube视频。我想从youtube url获取视频ID。
我看到有很多示例使用模式解析url以获取视频ID。
但我担心,当youtube将来更改其url时,这种方法会失败。
youtube视频url有几种格式:

http://www.youtube.com/watch?v=0zM4nApSvMg&feature=feedrec_grec_index
http://www.youtube.com/user/SomeUser#p/a/u/1/QDK8U-VIH_o
http://www.youtube.com/v/0zM4nApSvMg?fs=1&hl=en_US&rel=0
http://www.youtube.com/watch?v=0zM4nApSvMg#t=0m10s
http://www.youtube.com/embed/0zM4nApSvMg?rel=0
http://www.youtube.com/watch?v=0zM4nApSvMg
http://youtu.be/0zM4nApSvMg
是否有从url获取视频ID的API?

提前感谢。

是的,因为您已经发现,由于不一致性,获取youtube视频的视频ID并不是那么简单。您需要在PHP(或任何语言脚本)中包含所有可能的排列和组合,以便使用正则表达式解析URL

前面已经问过这个问题,所以您可以引用它并添加自己的逻辑来解析URL。我正在粘贴其中一些链接:


它将返回视频id: watchLink=”https://www.youtube.com/watch?v=s6RPsaco-vA“


上面列出了许多链接。其中一些,视频Id不在链接的末尾。因此,您的解决方案不起作用—只需将此代码运行到java IDE或Android IDE中—它将返回此s6RPsaco vA包abas.a.a.time;public类YoutubeLink{public static final String link=”“;public static void main(String[]args){String YoutubeLink=getVideoId(link);System.out.println(YoutubeLink);}public static String getVideoId(String watchLink){返回watchLink.substring(watchLink.length()-11);}
 public static String getVideoId(String watchLink){

     return watchLink.substring(watchLink.length() - 11);
}