2016-12-23 4 views
1

Я использую следующий код для получения идентификатора видео из Url.This функции возвращает идентификатор https://www.youtube.com/shared?ci=4xtFG3fPrk8 Url, но YouTube играет показывает мне ошибку, что «Видео недоступно»Получить ID видео YouTube с общей URL видео

public static String extractYTId(String ytUrl) { 
    String vId = null; 
    Pattern pattern = Pattern.compile(
      "(?<=shared\\?ci=|watch\\?v=|/videos/|embed\\/|youtu.be\\/|\\/v\\/|watch\\?v%3D|\u200C\u200B%2Fvideos%2F|embed%2\u200C\u200BF|youtu.be%2F|%2Fv%2\u200C\u200BF)[^#\\&\\?\\n]*"); 
    Matcher matcher = pattern.matcher(ytUrl); 
    if (matcher.find()) { 
     vId = matcher.group(); 
     Log.e(TAG, "video id found : " + vId); 

    } 
    return vId; 
} 

благодаря

+0

пожалуйста показать URL, который вы используете для установки видео – Athul

+0

и должны использовать тот же url не может использовать идентификатор общей ссылки youtube – Athul

+0

, этот идентификатор будет соответствовать только общей ссылке, а не https://www.youtube.com/watch?v= – Athul

ответ

1

Youtube ID разделяемой и реальной связи являются уникальным идентификатором, представляющего видео

Следовательно, вам нужно будет distuinguish друг друга проверки, если общие или реальные, используя условие и использовать ссылку для общего:

"https://www.youtube.com/shared?ci= "+ (youtubeID)

и другие, используя часы:

" https://www.youtube.com/watch?v=" + (youtubeID)