Publicar estado en el perfil de Facebook sin la ventana modal de Facebook usando ASP.NET

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

  •  08-07-2019
  •  | 
  •  

Pregunta

Estoy tratando de trabajar con Facebook en mi sitio ASP.NET donde tengo un usuario registrado de mi sitio, ingrese el texto en un cuadro para su estado en mi sitio. Quiero que también puedan llevar ese estado a FB según su permiso. Lo hice usando un simple código de Facebook Connect JS, pero quiero obtener la información en .NET y enviarla de esa manera. Sin embargo, en realidad no estoy creando una aplicación FB para un perfil FB.

Este es un pseudocódigo para lo que quiero:

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

¿Existe algo como esto para .NET o es su API solo para PHP?

¿Fue útil?

Solución

Claro, aquí hay un código de muestra. Está utilizando el Kit de herramientas para desarrolladores de Facebook (puede encontrarlo en codeplex). Y FBConnectAuth, que también se puede encontrar en codeplex.

Desea verificar las cookies para asegurarse de que la cookie es real (asegurándose de que alguien no esté intentando piratear); por eso es importante el paso de validación de cookies.

Siempre que inicie sesión con el código JS, las mismas cookies que se configuran en JS son accesibles en C #.

Esto funciona bien para una aplicación de 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top