Пример #1
0
        public FBPageAccessToken IncrementExpiredToken(SocialConfig socialConfig, string currentToken)
        {
            FBPageAccessToken model = null;

            try
            {
                var url = string.Format("{0}/oauth/access_token?field=expires_in&grant_type=fb_exchange_token&client_id={1}&client_secret={2}&fb_exchange_token={3}"
                                        , SqlDAL.Instance.GetSetting("FBUrlApi").Value
                                        , socialConfig.AppId, socialConfig.AppSecret, currentToken);
                model = HttpExtension.Instance.InvokeGet <FBPageAccessToken>(url).Result;
            }
            catch (Exception ex)
            {
                CoreLogger.Instance.Error(this.CreateMessageLog(ex.Message));
            }
            return(model);
        }
Пример #2
0
        private FBPageAccessToken GetFBPageAccessToken(SocialConfig socialConfig, string pageId)
        {
            FBPageAccessToken model = null;

            try
            {
                var fbAccess = GetFBAccessToken(socialConfig);
                if (fbAccess != null)
                {
                    var url = $"{FBUrlApi}/{pageId}?fields=access_token&access_token={fbAccess.access_token}";
                    model = HttpExtension.Instance.InvokeGet <FBPageAccessToken>(url).Result;
                }
            }
            catch (Exception ex)
            {
                CoreLogger.Instance.Error(this.CreateMessageLog(ex.Message));
            }
            return(model);
        }
Пример #3
0
        public FBPageInfo GetPageId(FBPageAccessToken fBPageAccessToken)
        {
            FBPageInfo model = null;

            try
            {
                var url = string.Format("{0}/me/accounts?access_token={1}"
                                        , SqlDAL.Instance.GetSetting("FBUrlApi").Value
                                        , fBPageAccessToken.access_token);
                var temp = HttpExtension.Instance.InvokeGet <ListFBPageInfo>(url).Result;
                if (temp != null && temp.data?.Count > 0)
                {
                    model = temp.data.FirstOrDefault();
                }
            }
            catch (Exception ex)
            {
                CoreLogger.Instance.Error(this.CreateMessageLog(ex.Message));
            }
            return(model);
        }
Пример #4
0
 public JsonResult ProccessCallBack(FBPageAccessToken model)
 {
     try
     {
         model.ConvertFanpageConfigFilter();
         if (model.FanpageConfigFilter != null)
         {
             var socialConfig = socialConfigBusiness.GetSocialConfig(new FilterSocialConfig
             {
                 Id = model.FanpageConfigFilter.SocialConfigId
             });
             //increment expired token
             var pageToken = facebookBusiness.IncrementExpiredToken(socialConfig, model.access_token);
             if (pageToken != null)
             {
                 //Get PageID
                 var pageInfo = facebookBusiness.GetPageId(pageToken);
                 if (pageInfo != null)
                 {
                     FanpageConfig modelReturn = new FanpageConfig
                     {
                         PageTitle       = pageInfo.name,
                         PageId          = pageInfo.id,
                         PageAccessToken = pageInfo.access_token
                     };
                     hubContext.Clients.Client(model.FanpageConfigFilter.ConnectionId).SendAsync("SendMessage", modelReturn);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         CoreLogger.Instance.Error(this.CreateMessageLog(ex.Message));
     }
     return(Json(null));
 }