Youtubeの動画一覧を取得するためのプログラム
VisualStudio c#.net を使用。
/// <summary> /// 配信完了Live情報を取得する /// </summary> /// <param name="channelId"></param> /// <param name="maxCount"></param> /// <returns></returns> public SearchListResponse SearchCompletedLiveFromChannel(string channelId, int maxCount) { List<string> requestTypeList = new List<string>(); requestTypeList.Add("id"); requestTypeList.Add("snippet"); //これは取れない。取りたいなら、_youtubeService.Videos.List("statistics");でリクエスト投げる必要がある。 //requestTypeList.Add("statistics"); var searchListRequest = _youtubeService.Search.List(requestTypeList); searchListRequest.ChannelId = channelId; searchListRequest.Type = "video"; searchListRequest.EventType = SearchResource.ListRequest.EventTypeEnum.Completed; searchListRequest.MaxResults = maxCount; searchListRequest.Order = SearchResource.ListRequest.OrderEnum.Date; return searchListRequest.Execute(); } /// <summary> /// ビデオ情報リストを取得する /// </summary> /// <param name="channelId">チャンネルid</param> /// <param name="maxCount">個数</param> /// <returns></returns> public List<DtoVideo> GetDtoVideoList(string channelId, int maxCount) { List<DtoVideo> result = new List<DtoVideo>(); var resultResponse = SearchCompletedLiveFromChannel(channelId, maxCount); foreach (var item in resultResponse.Items) { DtoVideo video = new DtoVideo(); video.VideoId = item.Id.VideoId; video.Name = item.Snippet.Title; video.Uploaded_date = DateTime.Parse(item.Snippet.PublishedAt); video.ChannnelId = item.Snippet.ChannelId; video.ThumbnailUrl = GetThumbnailUrl(item.Snippet.Thumbnails); result.Add(video); } return result; } /// <summary> /// サムネイルURLを取得する /// </summary> /// <param name="thumbnailDetails"></param> /// <returns></returns> public static string GetThumbnailUrl(ThumbnailDetails thumbnailDetails) { string result = thumbnailDetails.Default__.Url; //半分ぐらいnullだったから、画質の良さそうな名前のものを取得する。 if (thumbnailDetails.Maxres != null) { result = thumbnailDetails.Maxres.Url; } else if (thumbnailDetails.High != null) { result = thumbnailDetails.High.Url; } else if(thumbnailDetails.Medium != null) { result = thumbnailDetails.Medium.Url; } else if(thumbnailDetails.Standard != null) { result = thumbnailDetails.Standard.Url; } return result; }
コードハイライト表示で、c#は対応してないっぽいので、javascriptのハイライトを指定してみたらそれっぽくなった。