public static void GetYoutubeSearchData(string Url) { MongoRepository ArticlesAndBlogsRepo = new MongoRepository("ArticlesAndBlogs"); try { string youtubesearchurl = "https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=15&order=relevance&q=" + Url + "&key=AIzaSyBmQ1X1UBnKi3V78EkLuh7UHk5odrGfp5M"; string response = WebRequst(youtubesearchurl); var Jdata = Newtonsoft.Json.Linq.JObject.Parse(response); foreach (var item in Jdata["items"]) { Domain.Socioboard.Models.Mongo.ArticlesAndBlogs _ArticlesAndBlogs = new Domain.Socioboard.Models.Mongo.ArticlesAndBlogs(); _ArticlesAndBlogs.Id = ObjectId.GenerateNewId(); _ArticlesAndBlogs.Type = Domain.Socioboard.Enum.ArticlesAndBlogsTypes.youtube; _ArticlesAndBlogs.HostName = Url; try { _ArticlesAndBlogs.VideoId = item["id"]["videoId"].ToString(); } catch (Exception ex) { _ArticlesAndBlogs.VideoId = ""; } if (!string.IsNullOrEmpty(_ArticlesAndBlogs.VideoId)) { try { _ArticlesAndBlogs.VideoUrl = "https://www.youtube.com/watch?v=" + _ArticlesAndBlogs.VideoId; } catch (Exception ex) { _ArticlesAndBlogs.VideoUrl = ""; } _ArticlesAndBlogs.Url = Url; try { _ArticlesAndBlogs.Title = item["snippet"]["title"].ToString(); } catch (Exception ex) { _ArticlesAndBlogs.Title = ""; } try { _ArticlesAndBlogs.Description = item["snippet"]["description"].ToString(); } catch (Exception ex) { _ArticlesAndBlogs.Description = ""; } try { _ArticlesAndBlogs.Created_Time = SBHelper.ConvertToUnixTimestamp((DateTime.Parse(item["snippet"]["publishedAt"].ToString()))); } catch (Exception ex) { _ArticlesAndBlogs.Created_Time = SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow); } var ret = ArticlesAndBlogsRepo.Find <Domain.Socioboard.Models.Mongo.ArticlesAndBlogs>(t => t.VideoId.Equals(_ArticlesAndBlogs.VideoId) && t.Type.Equals(_ArticlesAndBlogs.Type)); var task = Task.Run(async() => { return(await ret); }); int count = task.Result.Count; if (count < 1) { ArticlesAndBlogsRepo.Add(_ArticlesAndBlogs); } } } } catch (Exception ex) { } }
public static void DailyMotionPost(string Url) { MongoRepository ArticlesAndBlogsRepo = new MongoRepository("ArticlesAndBlogs"); try { string _dailymotionpostRestUrl = "https://api.dailymotion.com/videos/?search=" + Url + "&fields=id,title,created_time,url,description"; string response = WebRequst(_dailymotionpostRestUrl); var jdata = Newtonsoft.Json.Linq.JObject.Parse(response); foreach (var item in jdata["list"]) { Domain.Socioboard.Models.Mongo.ArticlesAndBlogs _ArticlesAndBlogs = new Domain.Socioboard.Models.Mongo.ArticlesAndBlogs(); _ArticlesAndBlogs.Id = ObjectId.GenerateNewId(); _ArticlesAndBlogs.Type = Domain.Socioboard.Enum.ArticlesAndBlogsTypes.dailymotion; _ArticlesAndBlogs.HostName = Url; try { _ArticlesAndBlogs.VideoId = item["id"].ToString(); } catch (Exception ex) { _ArticlesAndBlogs.VideoId = ""; } try { _ArticlesAndBlogs.Title = item["title"].ToString(); } catch (Exception ex) { _ArticlesAndBlogs.Title = ""; } try { _ArticlesAndBlogs.VideoUrl = item["url"].ToString(); } catch (Exception ex) { _ArticlesAndBlogs.VideoUrl = ""; } try { _ArticlesAndBlogs.Description = item["description"].ToString(); } catch (Exception ex) { _ArticlesAndBlogs.Description = ""; } try { _ArticlesAndBlogs.Created_Time = double.Parse(item["created_time"].ToString()); } catch (Exception ex) { _ArticlesAndBlogs.Created_Time = SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow); } _ArticlesAndBlogs.Url = Url; var ret = ArticlesAndBlogsRepo.Find <Domain.Socioboard.Models.Mongo.ArticlesAndBlogs>(t => t.VideoId.Equals(_ArticlesAndBlogs.VideoId) && t.Type.Equals(_ArticlesAndBlogs.Type)); var task = Task.Run(async() => { return(await ret); }); int count = task.Result.Count; if (count < 1) { ArticlesAndBlogsRepo.Add(_ArticlesAndBlogs); } } } catch (Exception ex) { } }