public string getfacebookActiveAceessTokenFromDb() { FacebookAccountRepository fbAccRepo = new FacebookAccountRepository(); ArrayList asltFbAccount = fbAccRepo.getAllFacebookAccounts(); string accesstoken = string.Empty; foreach (Domain.Myfashion.Domain.FacebookAccount item in asltFbAccount) { accesstoken = item.AccessToken; if (this.CheckFacebookToken(accesstoken, "globussoft")) { break; } } return accesstoken; }
public string GetAllFacebookAccounts() { try { FacebookAccountRepository objFbRepo = new FacebookAccountRepository(); ArrayList lstFBAcc = objFbRepo.getAllFacebookAccounts(); return new JavaScriptSerializer().Serialize(lstFBAcc); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); return "Something Went Wrong"; } }
public bool AddFacebookFriendsGender(string ProfileId, string FacebookUserId) { Api.Socioboard.Services.FacebookAccount _FacebookAccount = new FacebookAccount(); Domain.Socioboard.Domain.FacebookAccount _facebookAccount = new Domain.Socioboard.Domain.FacebookAccount(); _facebookAccount = (Domain.Socioboard.Domain.FacebookAccount)(new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(_FacebookAccount.getFacebookAccountDetailsById(ProfileId, FacebookUserId), typeof(Domain.Socioboard.Domain.FacebookAccount))); if (string.IsNullOrEmpty(_facebookAccount.AccessToken)) { _facebookAccount = new Domain.Socioboard.Domain.FacebookAccount(); FacebookAccountRepository _FacebookAccountRepository = new FacebookAccountRepository(); System.Collections.ArrayList lstFacebookAccounts = _FacebookAccountRepository.getAllFacebookAccounts(); Random _random = new Random(); var rnum = _random.Next(0, lstFacebookAccounts.Count - 1); _facebookAccount = (Domain.Socioboard.Domain.FacebookAccount)lstFacebookAccounts[rnum]; } int malecount = 0; int femalecount = 0; Domain.Socioboard.Domain.FacebookStats objfbStats = new Domain.Socioboard.Domain.FacebookStats(); FacebookStatsRepository objFBStatsRepo = new FacebookStatsRepository(); FacebookClient fb = new FacebookClient(); fb.AccessToken = _facebookAccount.AccessToken; try { dynamic data = fb.Get("v2.0/me/friends?fields=gender"); //dynamic data, dynamic profile, Guid userId foreach (var item in data["data"]) { try { if (item["gender"] == "male") malecount++; else if (item["gender"] == "female") femalecount++; } catch (Exception ex) { logger.Error(ex.Message); logger.Error(ex.StackTrace); } } } catch (Exception ex) { logger.Error(ex.Message); logger.Error(ex.StackTrace); return false; } objfbStats.EntryDate = DateTime.Now; objfbStats.FbUserId = _facebookAccount.FbUserId;//profile["id"].ToString(); objfbStats.FemaleCount = femalecount; objfbStats.Id = Guid.NewGuid(); objfbStats.MaleCount = malecount; objfbStats.UserId = _facebookAccount.UserId; objfbStats.FanCount = getfanCount(objfbStats, _facebookAccount.AccessToken); if (objFBStatsRepo.checkFacebookStatsExists(objfbStats.FbUserId.ToString(), objfbStats.UserId, objfbStats.FanCount, objfbStats.MaleCount, objfbStats.FemaleCount)) { objFBStatsRepo.addFacebookStats(objfbStats); } return true; }
public string AddAllFbPagePost(string userid, string accesstoken, string profileid) { logger.Error("AddFbPagePost"); logger.Error(userid + ", " + accesstoken + " , " + profileid); string ret = string.Empty; Api.Socioboard.Services.FacebookAccount _FacebookAccount = new FacebookAccount(); Domain.Socioboard.Domain.FacebookAccount _facebookAccount = new Domain.Socioboard.Domain.FacebookAccount(); try { string _nextPageDataUrl = string.Empty; FacebookClient fb = new FacebookClient(); if (string.IsNullOrEmpty(accesstoken)) { try { _facebookAccount = (Domain.Socioboard.Domain.FacebookAccount)(new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(_FacebookAccount.getFacebookAccountDetailsById(userid, profileid), typeof(Domain.Socioboard.Domain.FacebookAccount))); _facebookAccount = new Domain.Socioboard.Domain.FacebookAccount(); Api.Socioboard.Services.FacebookAccountRepository _FacebookAccountRepository = new FacebookAccountRepository(); System.Collections.ArrayList lstFacebookAccounts = _FacebookAccountRepository.getAllFacebookAccounts(); Random _random = new Random(); var rnum = _random.Next(0, lstFacebookAccounts.Count - 1); _facebookAccount = (Domain.Socioboard.Domain.FacebookAccount)lstFacebookAccounts[rnum]; fb.AccessToken = _facebookAccount.AccessToken; } catch { }; } else fb.AccessToken = accesstoken; dynamic post = null; try { post = fb.Get("v2.0/" + profileid + "/posts"); } catch (Exception ex) { logger.Error("profileid +posts"); logger.Error(ex.Message); logger.Error(ex.StackTrace); } //dynamic post1 = fb.Get("me/posts"); _NextPageDataUrl: if (!string.IsNullOrEmpty(_nextPageDataUrl)) { fb = new FacebookClient(); post = fb.Get(_nextPageDataUrl); _nextPageDataUrl = string.Empty; } foreach (var item in post["data"]) { #region objFbPagePost.Id = Guid.NewGuid(); objFbPagePost.UserId = Guid.Parse(userid); objFbPagePost.PageId = profileid; objFbPagePost.PostId = item["id"].ToString(); objFbPagePost.PostDate = Convert.ToDateTime(item["created_time"]); objFbPagePost.EntryDate = DateTime.Now; try { objFbPagePost.Post = item["message"].ToString(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objFbPagePost.PictureUrl = item["picture"].ToString(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objFbPagePost.LinkUrl = item["link"].ToString(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objFbPagePost.IconUrl = item["icon"].ToString(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objFbPagePost.StatusType = item["status_type"].ToString(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objFbPagePost.Type = item["type"].ToString(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objFbPagePost.FromId = item["from"]["id"]; } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { objFbPagePost.FromName = item["from"]["name"]; } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { dynamic like = fb.Get("v2.0/" + objFbPagePost.PostId + "/likes?summary=1&limit=0"); objFbPagePost.Likes = Convert.ToInt32(like["summary"]["total_count"]); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { dynamic comment = fb.Get("v2.0/" + objFbPagePost.PostId + "/comments?summary=1&limit=0"); objFbPagePost.Comments = Convert.ToInt32(comment["summary"]["total_count"]); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { dynamic shares = fb.Get("v2.0/" + objFbPagePost.PostId); objFbPagePost.Shares = Convert.ToInt32(shares["shares"]["count"]); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); logger.Error(ex.StackTrace); } try { if (!objFbPagePostRepository.IsPostExist(objFbPagePost)) objFbPagePostRepository.addFbPagePost(objFbPagePost); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); logger.Error(ex.StackTrace); } try { AddAllFbPagePostComments(objFbPagePost.PostId, accesstoken, userid); } catch (Exception ex) { logger.Error(ex.StackTrace); Console.WriteLine(ex.StackTrace); } try { AddAllFbPagePostLiker(objFbPagePost.PostId, accesstoken, userid); } catch (Exception ex) { logger.Error(ex.StackTrace); Console.WriteLine(ex.StackTrace); } #endregion } try { _nextPageDataUrl = post["paging"]["next"]; if (!string.IsNullOrEmpty(_nextPageDataUrl)) goto _NextPageDataUrl; } catch { }; } catch (Exception ex) { logger.Error(ex.StackTrace); Console.WriteLine(ex.StackTrace); } return ret; }
public string contactSearchFacebook(string keyword) { List<Domain.Socioboard.Domain.DiscoverySearch> lstDiscoverySearch = new List<Domain.Socioboard.Domain.DiscoverySearch>(); string profileid = string.Empty; try { FacebookAccountRepository fbAccRepo = new FacebookAccountRepository(); ArrayList asltFbAccount = fbAccRepo.getAllFacebookAccounts(); string accesstoken = string.Empty; foreach (Domain.Socioboard.Domain.FacebookAccount item in asltFbAccount) { if (item.AccessToken != "") { accesstoken = item.AccessToken; if (this.CheckFacebookToken(accesstoken, keyword)) { break; } } } //string facebookSearchUrl = "https://graph.facebook.com/search?q=" + keyword + " &type=post&access_token=" + accesstoken + "&limit=100"; string facebookSearchUrl = "https://graph.facebook.com/search?q=" + keyword + " &limit=20&type=user&access_token=" + accesstoken; var facerequest = (HttpWebRequest)WebRequest.Create(facebookSearchUrl); facerequest.Method = "GET"; string outputface = string.Empty; using (var response = facerequest.GetResponse()) { using (var stream = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1252))) { outputface = stream.ReadToEnd(); } } if (!outputface.StartsWith("[")) outputface = "[" + outputface + "]"; JArray facebookSearchResult = JArray.Parse(outputface); foreach (var item in facebookSearchResult) { var data = item["data"]; foreach (var chile in data) { try { objDiscoverySearch = new Domain.Socioboard.Domain.DiscoverySearch(); objDiscoverySearch.FromId = chile["id"].ToString(); objDiscoverySearch.FromName = chile["name"].ToString(); lstDiscoverySearch.Add(objDiscoverySearch); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } } } return new JavaScriptSerializer().Serialize(lstDiscoverySearch); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); return new JavaScriptSerializer().Serialize("Please try Again"); } }
public string DiscoverySearchFacebook(string UserId, string keyword) { List<Domain.Socioboard.Domain.DiscoverySearch> lstDiscoverySearch = new List<Domain.Socioboard.Domain.DiscoverySearch>(); string profileid = string.Empty; try { // lstDiscoverySearch = dissearchrepo.GetAllSearchKeywordsByUserId(Guid.Parse(UserId), keyword, "facebook"); FacebookAccountRepository fbAccRepo = new FacebookAccountRepository(); ArrayList asltFbAccount = fbAccRepo.getAllFacebookAccounts(); string accesstoken = string.Empty; #region Added Sumit Gupta [27/01/15] foreach (Domain.Socioboard.Domain.FacebookAccount item in asltFbAccount) { accesstoken = item.AccessToken; if (this.CheckFacebookToken(accesstoken, keyword)) { break; } } #endregion ////Access Token HARD CODED temporarily //accesstoken = "CAAKMrAl97iIBAD9MqfWtfjIxwFVteGCLVZBsoHpc1TZCH8Kf3KQuMebkbNYLb282cUTisu6iGZBiZAzzwxWvDhh20vCzs5mZCFZBblZBXu40BQisUjoOCZARUQklHBiK3Cx7DOgdXtbvupC4xJ1VpPjKspwiZBRzNYncjgQAyUqd5sGsXUDHcqKy0UBYkmbfq7QZCFgpyG5icOPeMhRb4TXJaic7UF7B1WHLhw2A5EW0kb3AZDZD"; string facebookSearchUrl = "https://graph.facebook.com/search?q=" + keyword + " &type=post&access_token=" + accesstoken + "&limit=100"; var facerequest = (HttpWebRequest)WebRequest.Create(facebookSearchUrl); facerequest.Method = "GET"; string outputface = string.Empty; using (var response = facerequest.GetResponse()) { using (var stream = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1252))) { outputface = stream.ReadToEnd(); } } if (!outputface.StartsWith("[")) outputface = "[" + outputface + "]"; JArray facebookSearchResult = JArray.Parse(outputface); foreach (var item in facebookSearchResult) { var data = item["data"]; foreach (var chile in data) { try { objDiscoverySearch = new Domain.Socioboard.Domain.DiscoverySearch(); objDiscoverySearch.SearchKeyword = keyword; objDiscoverySearch.Network = "facebook"; objDiscoverySearch.Id = Guid.NewGuid(); objDiscoverySearch.UserId = Guid.Parse(UserId); if (!dissearchrepo.isKeywordPresentforNetwork(objDiscoverySearch.SearchKeyword, objDiscoverySearch.Network)) { dissearchrepo.addNewSearchResult(objDiscoverySearch); } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } try { Domain.Socioboard.Domain.DiscoverySearch objSearchHistory = new Domain.Socioboard.Domain.DiscoverySearch(); objSearchHistory.CreatedTime = DateTime.Parse(chile["created_time"].ToString()); objSearchHistory.EntryDate = DateTime.Now; objSearchHistory.FromId = chile["from"]["id"].ToString(); try { objSearchHistory.FromName = chile["from"]["name"].ToString(); } catch { } try { objSearchHistory.ProfileImageUrl = "http://graph.facebook.com/" + chile["from"]["id"] + "/picture?type=small"; } catch { } objSearchHistory.SearchKeyword = keyword; objSearchHistory.Network = "facebook"; try { objSearchHistory.Message = chile["message"].ToString(); } catch { } try { objSearchHistory.MessageId = chile["id"].ToString(); } catch { } objSearchHistory.Id = Guid.NewGuid(); objSearchHistory.UserId = Guid.Parse(UserId); lstDiscoverySearch.Add(objSearchHistory); } catch { } } } return new JavaScriptSerializer().Serialize(lstDiscoverySearch); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); return new JavaScriptSerializer().Serialize("Please try Again"); } }
public string getresults(string keyword) { User user = (User)Session["LoggedUser"]; int i = 0; string searchRes = string.Empty; if (!string.IsNullOrEmpty(keyword)) { DiscoverySearch dissearch = new DiscoverySearch(); DiscoverySearchRepository dissearchrepo = new DiscoverySearchRepository(); //Get data from Database if present, against the specified keyword List <DiscoverySearch> discoveryList = dissearchrepo.getResultsFromKeyword(keyword); if (discoveryList.Count == 0) //if no data, get the data for specified keyword from social media apis { #region Twitter try { oAuthTwitter oauth = new oAuthTwitter(); oauth.ConsumerKey = ConfigurationManager.AppSettings["consumerKey"].ToString(); oauth.ConsumerKeySecret = ConfigurationManager.AppSettings["consumerSecret"].ToString(); oauth.CallBackUrl = ConfigurationManager.AppSettings["callbackurl"].ToString(); TwitterAccountRepository twtAccRepo = new TwitterAccountRepository(); ArrayList alst = twtAccRepo.getAllTwitterAccounts(); foreach (TwitterAccount item in alst) { oauth.AccessToken = item.OAuthToken; oauth.AccessTokenSecret = item.OAuthSecret; oauth.TwitterUserId = item.TwitterUserId; oauth.TwitterScreenName = item.TwitterScreenName; if (TwitterHelper.CheckTwitterToken(oauth, keyword)) { break; } else { } } Search search = new Search(); JArray twitterSearchResult = search.Get_Search_Tweets(oauth, keyword); foreach (var item in twitterSearchResult) { var results = item["statuses"]; foreach (var chile in results) { try { dissearch.CreatedTime = SocioBoard.Helper.Extensions.ParseTwitterTime(chile["created_at"].ToString().TrimStart('"').TrimEnd('"'));; dissearch.EntryDate = DateTime.Now; dissearch.FromId = chile["user"]["id_str"].ToString().TrimStart('"').TrimEnd('"'); dissearch.FromName = chile["user"]["screen_name"].ToString().TrimStart('"').TrimEnd('"'); dissearch.ProfileImageUrl = chile["user"]["profile_image_url"].ToString().TrimStart('"').TrimEnd('"'); dissearch.SearchKeyword = txtSearchText.Text; dissearch.Network = "twitter"; dissearch.Message = chile["text"].ToString().TrimStart('"').TrimEnd('"'); dissearch.MessageId = chile["id_str"].ToString().TrimStart('"').TrimEnd('"'); dissearch.Id = Guid.NewGuid(); dissearch.UserId = user.Id; string postID = chile["id"].ToString(); string postURL = "https://twitter.com/" + dissearch.FromName + "/status/" + postID; if (!dissearchrepo.isKeywordPresent(dissearch.SearchKeyword, dissearch.MessageId)) { dissearchrepo.addNewSearchResult(dissearch); } searchRes += this.BindData(dissearch, i, postURL); i++; } catch (Exception ex) { logger.Error(ex.StackTrace); Console.WriteLine(ex.StackTrace); } } } } catch (Exception ex) { logger.Error(ex.StackTrace); Console.WriteLine(ex.StackTrace); } #endregion #region Facebook try { #region FacebookSearch int j = 0; string accesstoken = string.Empty; FacebookAccountRepository fbAccRepo = new FacebookAccountRepository(); ArrayList asltFbAccount = fbAccRepo.getAllFacebookAccounts(); foreach (FacebookAccount item in asltFbAccount) { accesstoken = item.AccessToken; if (FacebookHelper.CheckFacebookToken(accesstoken, txtSearchText.Text)) { break; } } string facebookSearchUrl = "https://graph.facebook.com/search?q=" + txtSearchText.Text + " &type=post&access_token=" + accesstoken; var facerequest = (HttpWebRequest)WebRequest.Create(facebookSearchUrl); facerequest.Method = "GET"; string outputface = string.Empty; using (var response = facerequest.GetResponse()) { using (var stream = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1252))) { outputface = stream.ReadToEnd(); } } if (!outputface.StartsWith("[")) { outputface = "[" + outputface + "]"; } JArray facebookSearchResult = JArray.Parse(outputface); foreach (var item in facebookSearchResult) { var data = item["data"]; foreach (var chile in data) { try { dissearch.CreatedTime = DateTime.Parse(chile["created_time"].ToString()); dissearch.EntryDate = DateTime.Now; dissearch.FromId = chile["from"]["id"].ToString(); dissearch.FromName = chile["from"]["name"].ToString(); dissearch.ProfileImageUrl = "http://graph.facebook.com/" + chile["from"]["id"] + "/picture?type=small"; dissearch.SearchKeyword = txtSearchText.Text; dissearch.Network = "facebook"; dissearch.Message = chile["message"].ToString(); dissearch.MessageId = chile["id"].ToString(); dissearch.Id = Guid.NewGuid(); dissearch.UserId = user.Id; string postURL = "https://www.facebook.com/" + dissearch.MessageId; if (!dissearchrepo.isKeywordPresent(dissearch.SearchKeyword, dissearch.MessageId)) { dissearchrepo.addNewSearchResult(dissearch); } searchRes += this.BindData(dissearch, i, postURL); } catch (Exception ex) { logger.Error(ex.StackTrace); Console.WriteLine(ex.StackTrace); } } } } catch (Exception ex) { logger.Error(ex.StackTrace); Console.WriteLine(ex.StackTrace); } #endregion #endregion } else // if data is there, bind data from databse { foreach (DiscoverySearch item in discoveryList) { string postURL = string.Empty; if (item.Network == "facebook") { postURL = "https://www.facebook.com/" + item.MessageId;; } else if (item.Network == "twitter") { postURL = "https://twitter.com/" + item.FromName + "/status/" + item.MessageId; } searchRes += this.BindData(item, i, postURL); i++; } } } return(searchRes); }