0

json リクエストを使用して、YouTube API から YouTube 動画を取得したいと考えています。これで、json を使用して YouTube からビデオを取得できます。URL の例にはいくつかの削除されたビデオ ( http://www.youtube.com/watch?v=MlOHWLqgcoY&list=PLD62D6701B15FD3E1 ) がありますが、削除されたビデオではなく、再生中のビデオしか得られません。json の結果を使用して削除された YouTube 動画を処理することは可能ですか、それとも他の方法ですか。

これは、YouTubeビデオを取得するための私のコードです

string getPlaylistVideoUrl = https://gdata.youtube.com/feeds/api/playlists/PLD62D6701B15FD3E1?v=2&safeSearch=strict&orderby=position&start-index=1&max-results=25&alt=json;
var webRequest = (HttpWebRequest)WebRequest.Create(getPlaylistVideoUrl);
using (WebResponse response=await webRequest.GetResponseAsync())
using (Stream responseStream=response.GetResponseStream())
using (StreamReader reader = new StreamReader(responseStream))
{
   var jsonResult = reader.ReadToEnd();
   var videosList = JsonConvert.DeserializeObject<YouTubeVideosByPlaylist>(jsonResult);
   if (videosList.Feed != null)
   {
      if (videosList.Feed.Entry != null)
      {
           //Add entries to class
      }
}

前もって感謝します。

4

3 に答える 3

1

YouTubeの削除されたビデオの問題を解決します。YouTube api URL で指定されたformat=6のプレイリストを取得した場合。

string getPlaylistVideoUrl = https://gdata.youtube.com/feeds/api/playlists/PLD62D6701B15FD3E1?v=2&safeSearch=strict&orderby=position&start-index=1&max-results=25&alt=json&format=6;
于 2013-03-09T04:46:15.277 に答える
0

再生できない動画は、通常app$control、Data APIのv2を使用して取得すると、JSON応答に要素が設定されます。応答JSONで何を探すかの例を次に示します。

"app$control": {
 "app$draft": {
  "$t": "yes"
 },
 "yt$state": {
  "$t": "This video is not available in your region.",
  "name": "restricted",
  "reasonCode": "requesterRegion"
 }
}

特定の再生シナリオで動画を再生できない理由はapp$controlにもあります。そのため、動画がないからといって、動画を常に再生できるとは限りません。ただし、そこにある場合app$control は、ビデオを再生できません。

于 2013-03-04T21:17:04.857 に答える
0

Google のドキュメントから「ビデオが再生できない場合、そのビデオのエントリには <media:content> タグが含まれません。さらに、エントリには、ビデオが再生されない理由の説明を含む <app:control> タグが含まれる場合があります。再生できません」

https://developers.google.com/youtube/2.0/developers_guide_protocol_testing

于 2013-06-21T13:29:52.797 に答える