Pós status para perfil no Facebook, sem janela Facebook modal usando ASP.NET

StackOverflow https://stackoverflow.com/questions/1638279

  •  08-07-2019
  •  | 
  •  

Pergunta

Eu estou tentando trabalhar com Facebook no meu site ASP.NET onde eu tenho um usuário conectado do meu site entrar no texto em uma caixa para seu status no meu site. Eu quero que eles sejam capazes de empurrar esse status para FB bem por sua permissão. Eu fiz isso usando o código Facebook Connect JS simples, mas eu quero obter a informação em .NET e empurrá-lo dessa forma. Eu não estou realmente criando um aplicativo FB para um perfil FB embora.

Esta é pseudo-código para o que eu quero:

Facebook fb = new Facebook(apiKey);
FBSession sess = fb.Authenticate();
if(sess.isAuthenticated) {
  User u = fb.getUser(sess.userId);
  u.setStatus(Textbox1.text);
  u.SaveStatus();
}

faz qualquer coisa como este existem mesmo para .NET ou é a sua API para PHP única?

Foi útil?

Solução

Claro, aqui está um código de exemplo. Ele está usando o Facebook Developer Toolkit (você pode encontrá-lo no CodePlex). E FBConnectAuth que também podem ser encontrados no CodePlex.

Você quer verificar os cookies para se certificar de que o cookie é real (certificando-se de que alguém não está a tentar cortar in); que é por isso que a etapa de validação de cookie é importante.

Enquanto você login usando o código JS, os mesmos cookies que são definidas nos JS são acessíveis em C #.

Esta multa trabalha para um aplicativo do Facebook Connect.

        using FBConnectAuth;
        using facebook;

        public facebook.API api = new facebook.API();

        bool IsLoggedInToFacebook = false;
        FBConnectAuthentication auth = new FBConnectAuthentication(ConfigurationManager.AppSettings["AppKey"], ConfigurationManager.AppSettings["Secret"]);
        if (auth.Validate() != ValidationState.Valid)
        {
            IsLoggedInToFacebook = false;
        }
        else
        {
            FBConnectSession fbSession = auth.GetSession();
            string userId = fbSession.UserID;
            string sessionKey = fbSession.SessionKey;

            api.ApplicationKey = ConfigurationManager.AppSettings["AppKey"];
            api.SessionKey = sessionKey;
            api.Secret = ConfigurationManager.AppSettings["Secret"];
            api.uid = Convert.ToInt64(userId);
            api.status.set("statutes text goes here")

            IsLoggedInToFacebook = true;
        }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top