public comum.dto.PerfilAccessToken Processar(string token, Guid empresaId)
        {
            var responseFacebookInfos = empresaClient.ObterInfoFacebook(empresaId);

            responseFacebookInfos.ThrownIfError();

            var facekookInfos = responseFacebookInfos.Item;

            var url = $"https://graph.facebook.com/{facekookInfos.GraphApiVersao}/oauth/access_token?grant_type=fb_exchange_token&client_id={facekookInfos.AppId}&client_secret={facekookInfos.AppSecret}&fb_exchange_token={token}";

            var envelopeResponse = WebRequestHelper.GetExterno <AccessTokenResponse>(url);

            envelopeResponse.ThrownIfError();

            var perfilToken = new comum.dto.PerfilAccessToken
            {
                Token     = envelopeResponse.Item.access_token,
                Expiracao = DateTimeHelper.Now().AddSeconds(envelopeResponse.Item.expires_in),
                Tipo      = envelopeResponse.Item.token_type
            };

            perfilToken.Json = SerializadorHelper.Serializar(perfilToken);

            return(perfilToken);
        }
        public AccessTokenResponse Obter(string code, Guid empresaId)
        {
            var responseFacebookInfos = empresaClient.ObterInfoFacebook(empresaId);

            responseFacebookInfos.ThrownIfError();

            var facekookInfos = responseFacebookInfos.Item;

            var url = $"https://graph.facebook.com/v9.0/oauth/access_token?client_id={facekookInfos.AppId}&redirect_uri={facekookInfos.URLRedirectOauth}&state=1&client_secret={facekookInfos.AppSecret}&code={code}";

            var envelope = WebRequestHelper.GetExterno <AccessTokenResponse>(url);

            var accessTokenResponse = envelope.Item;

            if (accessTokenResponse.error != null &&
                accessTokenResponse.error.code == 100)
            {
                if (accessTokenResponse.error.error_subcode == 36007)
                {
                    throw new UnauthorizedAccessException();
                }
                else
                {
                    throw new InvalidCredentialException();
                }
            }

            return(accessTokenResponse);
        }
Example #3
0
        public UserResponse Obter(string token)
        {
            var url = $"https://graph.facebook.com/me?fields=id,name,short_name,picture&access_token={token}";

            var response = WebRequestHelper.GetExterno <UserResponse>(url);

            return(response.Item);
        }
Example #4
0
        private Response ObterChat(string liveChatId, string pageToken)
        {
            var messagesUrlPreparada = string.Format(settings.url.messages, liveChatId, settings.apiKey, pageToken);

            var messagesResponse = WebRequestHelper.GetExterno <Response>(messagesUrlPreparada, ObterHeader());

            messagesResponse.ThrownIfError();

            return(messagesResponse.Item);
        }
Example #5
0
        public ResponseEnvelope <Item> ObterLive()
        {
            var url = string.Format(settings.url.liveBroadcasts, settings.apiKey);

            var token = oauth2Servico.ObterToken();

            var response = WebRequestHelper.GetExterno <Response>(url, ObterHeader());

            response.ThrownIfError();

            var envelope = new ResponseEnvelope <Item>();

            if (response.Item.PageInfo.TotalResults >= 1)
            {
                envelope.Item = response.Item.Items[0];
            }
            else
            {
                envelope.HttpStatusCode = HttpStatusCode.NotFound;
            }

            return(envelope);
        }