2016-12-23 3 views
1

ich folgenden Code für das Erhalten Video-ID von Url.This Funktion gibt Id für https://www.youtube.com/shared?ci=4xtFG3fPrk8 Url, aber youtube spielt zeigt mir Fehler, dass das 'Video nicht verfügbar ist'von Shared Video URL Youtube Video Id Get

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; 
} 

dank

+0

zeigen Sie bitte die URL, die Sie für die Einstellung des Video – Athul

+0

verwenden u die verwendet werden soll Die gleiche URL kann die ID des gemeinsamen Youtube-Links – Athul

+0

nicht verwenden. Diese ID entspricht nur dem geteilten Link, nicht für https://www.youtube.com/watch?v= – Athul

Antwort

1

Youtube ID der gemeinsamen und wirkliche Verbindung sind eindeutige ID des Video darstellt

Daher müssen Sie sich zu überprüfen, distuinguish wenn es freigegeben ist oder real durch eine Bedingung und nutzen Sie den Link für die gemeinsame Verwendung von:

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

und andere mit Uhr:

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