public IActionResult RecGoogleAccount(string code, long userId) { string ret = string.Empty; string objRefresh = string.Empty; string refreshToken = string.Empty; string access_token = string.Empty; DatabaseRepository dbr = new DatabaseRepository(_logger, _appEnv); oAuthTokenGPlus ObjoAuthTokenGPlus = new oAuthTokenGPlus(_appSettings.GoogleConsumerKey, _appSettings.GoogleConsumerSecret, _appSettings.GoogleRedirectUri); oAuthToken objToken = new oAuthToken(_appSettings.GoogleConsumerKey, _appSettings.GoogleConsumerSecret, _appSettings.GoogleRedirectUri); JObject userinfo = new JObject(); try { objRefresh = ObjoAuthTokenGPlus.GetRefreshToken(code); JObject objaccesstoken = JObject.Parse(objRefresh); _logger.LogInformation(objaccesstoken.ToString()); try { refreshToken = objaccesstoken["refresh_token"].ToString(); } catch { } access_token = objaccesstoken["access_token"].ToString(); string user = objToken.GetUserInfo("self", access_token.ToString()); //_logger.LogInformation(user); userinfo = JObject.Parse(JArray.Parse(user)[0].ToString()); string people = objToken.GetPeopleInfo("self", access_token.ToString(), Convert.ToString(userinfo["id"])); userinfo = JObject.Parse(JArray.Parse(people)[0].ToString()); } catch (Exception ex) { //access_token = objaccesstoken["access_token"].ToString(); //ObjoAuthTokenGPlus.RevokeToken(access_token); _logger.LogInformation(ex.Message); _logger.LogError(ex.StackTrace); ret = "Access Token Not Found"; return(Ok(ret)); } Domain.Socioboard.Models.Googleplusaccounts gplusAcc = Api.Socioboard.Repositories.GplusRepository.getGPlusAccount(Convert.ToString(userinfo["id"]), _redisCache, dbr); if (gplusAcc != null && gplusAcc.IsActive == true) { if (gplusAcc.UserId == userId) { } //return BadRequest("GPlus account added by other user."); } // Adding GPlus Profile int x = Api.Socioboard.Repositories.GplusRepository.ReconnectGplusAccount(userinfo, dbr, userId, access_token, refreshToken, _redisCache, _appSettings, _logger); if (x == 1) { return(Ok("Gplus Account Reconnect Successfully")); } else { return(BadRequest("Issues while adding account")); } }
private void ParseAndUpdateGoogleAccountDetails(Googleplusaccounts googlePlusAccount, DatabaseRepository databaseRepository, oAuthTokenGPlus objoAuthTokenGPlus, oAuthToken objToken) { try { string objRefresh = objoAuthTokenGPlus.GetAccessToken(googlePlusAccount.RefreshToken); JObject objaccesstoken = JObject.Parse(objRefresh); string access_token = objaccesstoken.SelectToken("access_token")?.ToString(); string user = objToken.GetUserInfo("self", access_token); JObject userinfo = JObject.Parse(JArray.Parse(user)[0].ToString()); string people = objToken.GetPeopleInfo("self", access_token, googlePlusAccount.GpUserId); userinfo = JObject.Parse(JArray.Parse(people)[0].ToString()); googlePlusAccount.GpUserName = userinfo.SelectToken("displayName")?.ToString() ?? userinfo.SelectToken("name")?.ToString(); googlePlusAccount.GpProfileImage = userinfo.SelectToken("image.url")?.ToString() ?? userinfo.SelectToken("picture")?.ToString(); googlePlusAccount.about = userinfo.SelectToken("tagline")?.ToString() ?? googlePlusAccount.about; googlePlusAccount.college = userinfo.SelectTokens("organizations").FirstOrDefault()?.SelectToken("name")?.ToString() ?? googlePlusAccount.college; googlePlusAccount.coverPic = userinfo.SelectToken("cover.coverPhoto.url")?.ToString() ?? googlePlusAccount.coverPic; googlePlusAccount.education = userinfo.SelectTokens("organizations").FirstOrDefault()?.SelectToken("type")?.ToString() ?? googlePlusAccount.education; googlePlusAccount.EmailId = userinfo.SelectTokens("emails").FirstOrDefault()?.SelectToken("value")?.ToString() ?? googlePlusAccount.EmailId; googlePlusAccount.gender = userinfo.SelectToken("gender")?.ToString() ?? googlePlusAccount.gender; googlePlusAccount.workPosition = userinfo.SelectToken("occupation")?.ToString() ?? googlePlusAccount.workPosition; googlePlusAccount.LastUpdate = DateTime.UtcNow; databaseRepository.Update(googlePlusAccount); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public IActionResult AddGoogleAccountPhone(string refreshToken, string accessToken, long groupId, long userId) { var ret = string.Empty; var objRefresh = string.Empty; var dbr = new DatabaseRepository(_logger, _appEnv); var ObjoAuthTokenGPlus = new oAuthTokenGPlus(_appSettings.GoogleConsumerKey, _appSettings.GoogleConsumerSecret, _appSettings.GoogleRedirectUri); var objToken = new oAuthToken(_appSettings.GoogleConsumerKey, _appSettings.GoogleConsumerSecret, _appSettings.GoogleRedirectUri); var userinfo = new JObject(); try { var user = objToken.GetUserInfo("self", accessToken); //_logger.LogInformation(user); userinfo = JObject.Parse(JArray.Parse(user)[0].ToString()); var people = objToken.GetPeopleInfo("self", accessToken, Convert.ToString(userinfo["id"])); userinfo = JObject.Parse(JArray.Parse(people)[0].ToString()); } catch (Exception ex) { _logger.LogInformation(ex.Message); _logger.LogError(ex.StackTrace); ret = "Access Token Not Found"; return(Ok(ret)); } var gplusAcc = GplusRepository.getGPlusAccount(Convert.ToString(userinfo["id"]), _redisCache, dbr); if (gplusAcc != null && gplusAcc.IsActive) { if (gplusAcc.UserId == userId) { return(BadRequest("GPlus account already added by you.")); } return(BadRequest("GPlus account added by other user.")); } var ngrp = dbr.Find <Groups>(t => t.adminId == userId && t.id == groupId).FirstOrDefault(); if (ngrp == null) { return(Ok("group not exist")); } // Adding GPlus Profile var x = GplusRepository.AddGplusAccount(userinfo, dbr, userId, ngrp.id, accessToken, refreshToken, _redisCache, _appSettings, _logger); if (x == 1) { return(Ok("Gplus Account Added Successfully")); } return(BadRequest("Issues while adding account")); }
public void UpdateGooglePlusAccount() { while (true) { try { Helper.DatabaseRepository dbr = new Helper.DatabaseRepository(); oAuthTokenGPlus ObjoAuthTokenGPlus = new oAuthTokenGPlus(AppSettings.GoogleConsumerKey, AppSettings.GoogleConsumerSecret, AppSettings.GoogleRedirectUri); oAuthToken objToken = new oAuthToken(AppSettings.GoogleConsumerKey, AppSettings.GoogleConsumerSecret, AppSettings.GoogleRedirectUri); JObject userinfo = new JObject(); List <Domain.Socioboard.Models.Googleplusaccounts> lstTwtAccounts = dbr.Find <Domain.Socioboard.Models.Googleplusaccounts>(t => t.IsActive).ToList(); // lstTwtAccounts = lstTwtAccounts.Where(t => t.GpUserName.Contains("Avinash Verma")).ToList(); foreach (var item in lstTwtAccounts) { List <Domain.Socioboard.Models.Groupprofiles> _grpProfile = dbr.Find <Domain.Socioboard.Models.Groupprofiles>(t => t.profileId.Contains(item.GpUserId)).ToList(); try { if (item.LastUpdate.AddHours(1) <= DateTime.UtcNow) { if (item.IsActive) { try { string objRefresh = ObjoAuthTokenGPlus.GetAccessToken(item.RefreshToken); JObject objaccesstoken = JObject.Parse(objRefresh); string access_token = objaccesstoken["access_token"].ToString(); string user = objToken.GetUserInfo("self", access_token); userinfo = JObject.Parse(JArray.Parse(user)[0].ToString()); string people = objToken.GetPeopleInfo("self", access_token, item.GpUserId); userinfo = JObject.Parse(JArray.Parse(people)[0].ToString()); try { item.GpUserName = userinfo["displayName"].ToString(); } catch { try { item.GpUserName = userinfo["name"].ToString(); } catch { } } try { item.GpProfileImage = Convert.ToString(userinfo["image"]["url"]); _grpProfile.Select(s => { s.profilePic = Convert.ToString(userinfo["image"]["url"]); return(s); }).ToList(); } catch { try { item.GpProfileImage = Convert.ToString(userinfo["picture"]); _grpProfile.Select(s => { s.profilePic = Convert.ToString(userinfo["picture"]); return(s); }).ToList(); } catch { } } try { item.about = Convert.ToString(userinfo["tagline"]); } catch { item.about = item.about; } try { item.college = Convert.ToString(userinfo["organizations"][0]["name"]); } catch { item.college = item.college; } try { item.coverPic = Convert.ToString(userinfo["cover"]["coverPhoto"]["url"]); } catch { item.coverPic = item.coverPic; } try { item.education = Convert.ToString(userinfo["organizations"][0]["type"]); } catch { item.education = item.education; } try { item.EmailId = Convert.ToString(userinfo["emails"][0]["value"]); } catch { item.EmailId = item.EmailId; } try { item.gender = Convert.ToString(userinfo["gender"]); } catch { item.gender = item.gender; } try { item.workPosition = Convert.ToString(userinfo["occupation"]); } catch { item.workPosition = item.workPosition; } #region Get_InYourCircles try { string _InyourCircles = ObjoAuthTokenGPlus.APIWebRequestToGetUserInfo(Globals.strGetPeopleList.Replace("[userId]", item.GpUserId).Replace("[collection]", "visible") + "?key=" + AppSettings.GoogleApiKey, item.AccessToken); JObject J_InyourCircles = JObject.Parse(_InyourCircles); item.InYourCircles = Convert.ToInt32(J_InyourCircles["totalItems"].ToString()); } catch (Exception ex) { item.InYourCircles = item.InYourCircles; } #endregion #region Get_HaveYouInCircles try { string _HaveYouInCircles = ObjoAuthTokenGPlus.APIWebRequestToGetUserInfo(Globals.strGetPeopleProfile + item.GpUserId + "?key=" + AppSettings.GoogleApiKey, item.AccessToken); JObject J_HaveYouInCircles = JObject.Parse(_HaveYouInCircles); item.HaveYouInCircles = Convert.ToInt32(J_HaveYouInCircles["circledByCount"].ToString()); } catch (Exception ex) { item.HaveYouInCircles = item.HaveYouInCircles; } #endregion dbr.Update <Domain.Socioboard.Models.Googleplusaccounts>(item); foreach (var item_grpProfile in _grpProfile) { dbr.Update <Domain.Socioboard.Models.Groupprofiles>(item_grpProfile); } GooglePlusFeed.GetUserActivities(item.GpUserId, access_token); item.LastUpdate = DateTime.UtcNow; dbr.Update <Domain.Socioboard.Models.Googleplusaccounts>(item); } catch (Exception) { Thread.Sleep(600000); } } } } catch (Exception ex) { Thread.Sleep(600000); } } Thread.Sleep(600000); } catch (Exception ex) { Console.WriteLine("issue in web api calling" + ex.StackTrace); Thread.Sleep(600000); } } }