public ActionResult HandleClientCode([FromUri]string code) { var httpClient = new HttpClient(); var exchangeUri = "https://accounts.google.com/o/oauth2/token"; var queryString = System.Web.HttpUtility.ParseQueryString(string.Empty); queryString["code"] = code; queryString["client_id"] = "585224365875-s7phb7mlduaa5e93r2qojjldcgi4o2vj.apps.googleusercontent.com"; queryString["client_secret"] = "Naxgfm0K31CxxlFiX8Ch723m"; queryString["redirect_uri"] = "http://localhost:55102/youtube/HandleClientCode"; queryString["grant_type"] = "authorization_code"; var content = new StringContent(queryString.ToString(), Encoding.UTF8, "application/x-www-form-urlencoded"); var exchangePostResponse = httpClient.PostAsync(exchangeUri, content).Result; var resp = exchangePostResponse.Content.ReadAsStringAsync().Result; var googleResponse = new JavaScriptSerializer().Deserialize<TokenInfo>(resp); var databaseInteraction = new MongoDbInteraction(new MongoDbConnection { CollectionName = "googleAuthorization", DatabaseName = "StrawHatEntertainment" }, new MongoClient("mongodb://localhost")); var result = databaseInteraction.Log(googleResponse); return View("~/Views/Home/Index.cshtml"); }
public BlogData GetSpecificBlog(int blogId) { var databaseInteraction = new MongoDbInteraction(new MongoDbConnection { CollectionName = "blogs", DatabaseName = "StrawHatEntertainment" }, new MongoClient("mongodb://localhost")); var result = databaseInteraction.GetWithFilterWithoutId(Builders<BsonDocument>.Filter.Eq("BlogId", blogId)).Result; return BsonSerializer.Deserialize<BlogData>(result[0]); }
public void Post(BlogData blogData) { var databaseInteraction = new MongoDbInteraction(new MongoDbConnection { CollectionName = "blogs", DatabaseName = "StrawHatEntertainment" }, new MongoClient("mongodb://localhost")); var blogs = databaseInteraction.GetAscendingWithoutId(Builders<BsonDocument>.Sort.Ascending("BlogID")).Result; blogData.BlogId = blogs.Count > 0 ? BsonSerializer.Deserialize<BlogData>(blogs[0]).BlogId + 1 : 0; var result = databaseInteraction.Log(blogData); }
public List<BlogData> Get() { var databaseInteraction = new MongoDbInteraction(new MongoDbConnection { CollectionName = "blogs", DatabaseName = "StrawHatEntertainment" }, new MongoClient("mongodb://localhost")); var result = databaseInteraction.FindAllWithoutId<BsonDocument>().Result; var blogList = new List<BlogData>(); result.ForEach(x => blogList.Add(BsonSerializer.Deserialize<BlogData>(x))); return blogList; }
public VideoWithLatest Get() { //var videos = new List<Video>(); var youtubeOperations = new YoutubeOperations(); var databaseInteraction = new MongoDbInteraction(new MongoDbConnection { CollectionName = "videos", DatabaseName = "StrawHatEntertainment" }, new MongoClient("mongodb://localhost")); var videos = databaseInteraction.FindAll<Videos>().Result; //var tokenInfo = BsonSerializer.Deserialize<TokenInfo>(databaseInteraction.FindAll<BsonDocument>().Result[0]); //youtubeOperations.GetVideoList(tokenInfo, videos); //var videoList = videos.Where(x => x.VideoList.Any()).ToList(); var videoWithLatest = new VideoWithLatest(); videoWithLatest.latestVideo = videos.Select(x => x.VideoList.OrderByDescending(y => y.PublishedDate).FirstOrDefault()).FirstOrDefault(); videoWithLatest.videos = new List<Video>(); foreach (var video in videos) { videoWithLatest.videos.AddRange(video.VideoList); } return videoWithLatest; }
// GET: Youtube public ActionResult Index() { var databaseInteraction = new MongoDbInteraction(new MongoDbConnection { CollectionName = "googleAuthorization", DatabaseName = "StrawHatEntertainment" }, new MongoClient("mongodb://localhost")); var results = databaseInteraction.FindAll<BsonDocument>().Result; if (results.Count() == 0) { var authEndpoint = "https://accounts.google.com/o/oauth2/auth?"; NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(string.Empty); queryString["response_type"] = "code"; queryString["client_id"] = "585224365875-s7phb7mlduaa5e93r2qojjldcgi4o2vj.apps.googleusercontent.com"; queryString["redirect_uri"] = "http://localhost:55102/youtube/HandleClientCode"; queryString["scope"] = "https://www.googleapis.com/auth/youtube"; queryString["access_type"] = "offline"; queryString["approval_prompt"] = "force"; var authorizationUrl = authEndpoint + queryString.ToString(); return Redirect(authorizationUrl); } var googleAuthentication = results.Select(x => BsonSerializer.Deserialize<TokenInfo>(x)).ToList()[0]; return View("~/Views/Home/Index.cshtml"); }