2016-06-28 7 views
1

私はyoutubeプレイリストの各ビデオのためのyoutubeビデオ情報を取得しようとしています。そうすればPowerBIダッシュボードと他の電子メールツールをSQLデータベースに接続して、YouTubeのすべてのビデオメタデータを取り込むことができます。スニペットのビデオ情報をすべて取得する方法があります。しかし、それは他の部分をつかむときに失敗します。このリンクは、コンテンツの詳細が有効な操作であることを明確に示していますが、APIは私に400を返します。私は本当に近くにいなければならない。何か案は?youtube api C#ビデオフルメタデータ

https://developers.google.com/youtube/v3/docs/videos/list#parameters

public YouTubeVideo GetVideoInfo(string id) 
    { 
     var videoRequest = ytservice.Videos.List("snippet"); 
     var contentRequest = ytservice.Videos.List("contentdetials"); 
     var itemRequest = ytservice.Videos.List("items"); 
     var statsRequest = ytservice.Videos.List("Statistics"); 
     videoRequest.Id = id; 
     contentRequest.Id = id; 
     itemRequest.Id = id; 
     statsRequest.Id = id; 
     var response = videoRequest.Execute(); 
     var contentResponse = contentRequest.Execute(); 
     var itemResponse = itemRequest.Execute(); 
     var statsResponse = statsRequest.Execute(); 
     var video = new YouTubeVideo(); 
     if (response.Items.Count > 0) 
     { 
      video.id = videoRequest.Id; 
      video.caption = contentResponse.Items[0].ContentDetails.Caption; 
      video.title = response.Items[0].Snippet.Title; 
      video.description = response.Items[0].Snippet.Description; 
      video.publishDate = response.Items[0].Snippet.PublishedAt.Value; 
      video.ageGate = itemResponse.Items[0].AgeGating.Restricted; 
      video.viewCount = response.Items[0].Statistics.ViewCount; 
      video.likeCount = statsResponse.Items[0].Statistics.LikeCount; 
      video.dislikeCount = statsResponse.Items[0].Statistics.DislikeCount; 
      video.favoriteCount = statsResponse.Items[0].Statistics.FavoriteCount; 
      video.commentCount = statsResponse.Items[0].Statistics.CommentCount; 
     } 
     else 
     { 
      //Video not found 
     } 
     return video; 
    } 

答えて

1

私はちょうどカンマで区切って同じ文字列内のすべてのコール:)

public YouTubeVideo GetVideoInfo(string id) 
    { 
     var videoRequest = ytservice.Videos.List("snippet, contentDetails, statistics"); 
     videoRequest.Id = id; 
     var response = videoRequest.Execute(); 
     var video = new YouTubeVideo(); 
     if (response.Items.Count > 0) 
     { 
      video.id = videoRequest.Id; 
      video.caption = response.Items[0].ContentDetails.Caption; 
      video.title = response.Items[0].Snippet.Title; 
      video.description = response.Items[0].Snippet.Description; 
      video.publishDate = response.Items[0].Snippet.PublishedAt.Value; 
      //video.ageGate = (response.Items[0].AgeGating.Restricted = null) ? null : response.Items[0].AgeGating.Restricted; 
      video.viewCount = response.Items[0].Statistics.ViewCount; 
      video.likeCount = response.Items[0].Statistics.LikeCount; 
      video.dislikeCount = response.Items[0].Statistics.DislikeCount; 
      video.favoriteCount = response.Items[0].Statistics.FavoriteCount; 
      video.commentCount = response.Items[0].Statistics.CommentCount; 
     } 
     else 
     { 
      //Video not found 
     } 
     return video; 
    } 
作ることができます考え出しました