public async Task <IActionResult> Messages(string id) { var token = await youtubeService.GetToken(); if (token == null) { return(await Authorize()); } if (token.Status == AccessTokenStatus.Expired) { await youtubeService.RefreshToken(token); } var liveChatMessageList = await youtubeService.GetLiveChatMessages(id, string.Empty); foreach (var item in liveChatMessageList.items.Where(x => x.snippet.hasDisplayContent)) { await chatHubContext.Clients.All.SendAsync("ReceiveMessage", item.AuthorDetails.displayName, item.snippet.displayMessage); } return(View("Messages", liveChatMessageList)); }