/// <summary> /// コメントデータを取得する /// </summary> private async Task <List <ComApi.CommentBody.Json.JsonComment> > GetCommentData(WatchPage::BaseJson data, int?_when = null) { var logger = NicoLogger.GetLogger(); var serializer = new CommentSerializer(); var chandler = new CommentHandller(); List <ComApi.RequestItems> comRequest = GetCommentRequest(data, _when); //コメントを取得する logger.Debug("コメントの取得を開始", moduleName); HttpClient client = context.NicoClient.Client; var comBody = await client.PostAsync(new Uri(@"http://nmsg.nicovideo.jp/api.json/"), new StringContent(serializer.SerializeJson(comRequest))); //エラーハンドリング if (!comBody.IsSuccessStatusCode) { throw new Exception($"コメントの取得に失敗しました。 (status_code: {(int)comBody.StatusCode})"); } else { logger.Debug($"コメントデータの取得が完了", moduleName); } //取得したコメントをデシリアライズ string comJson = await comBody.Content.ReadAsStringAsync(); return(serializer.DeserializeJson <List <ComApi.CommentBody.Json.JsonComment> >(comJson)); }
/// <summary> /// 最初のコメントを取得する /// </summary> /// <returns></returns> public ComApi::CommentBody.Json.Chat GetFirstComment() { var handler = new CommentHandller(); return(handler.GetFirstComment(this.Comments)); }