2015-10-22 248 views
1

我正在使用Android Youtube API v3。我的應用程序將播放YouTube視頻。我想從youtube網址獲取videoID。
我看到有很多示例使用模式來解析URL以獲取視頻ID。
但是,如果將來youtube更改網址,恐怕這種方式會失敗。
有YouTube影片網址的一些格式:使用Android Youtube ApI v3從YouTube獲取視頻ID

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 

是否有任何的API來從URL獲取視頻ID?
在此先感謝。

回答

1

是的,正如您已經知道,由於不一致,獲取YouTube視頻的視頻ID並不那麼簡單。您需要在PHP中使用所有可能的排列組合和語法腳本,或者使用正則表達式來解析URL。

這個問題以前已經問過了,所以你可以引用它並添加你自己的邏輯來解析URL。我粘貼的其中一些鏈接:

Youtube API - Extract video ID

how to get youtube video id from url

JavaScript REGEX: How do I get the YouTube video id from a URL?

https://halgatewood.com/php-get-the-youtube-video-id-from-a-youtube-url

http://www.microtuts.com/c-get-youtube-video-id-from-url-with-regex/

1

它會回報你的視頻ID: watchLink = 「HTTPS://www.youtu be.com/watch?v=s6RPsaco-vA「

public static String getVideoId(String watchLink){ 

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

上面列出了很多鏈接。其中一些視頻ID不在鏈接的末尾。因此,您的解決方案不起作用 –

+0

只要運行該代碼放到你的Java IDE或Android IDE它將返回這個s6RPsaco-VA 包abas.a.a.time; public class YoutubeLink \t \t public static final String link =「https://www.youtube.com/watch?v=s6RPsaco-vA」; \t \t 公共靜態無效的主要(字串[] args){ \t \t \t 字符串\t = Youtubelink getVideoId(聯繫); \t \t \t \t System.out.println(Youtubelink); \t \t \t \t \t } \t \t 公共靜態字符串getVideoId(字符串watchLink){ \t返回watchLink.substring(watchLink.length() - 11); \t} } – pavel

相關問題