Publier le statut sur le profil Facebook sans fenêtre modale Facebook à l'aide d'ASP.NET

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

  •  08-07-2019
  •  | 
  •  

Question

J'essaie de travailler avec Facebook sur mon site ASP.NET où un utilisateur connecté à mon site doit saisir du texte dans une zone pour connaître son statut sur mon site. Je veux qu’ils puissent transmettre ce statut à FB également avec leur permission. Je l'ai fait en utilisant un simple code Facebook Connect JS, mais je souhaite obtenir les informations dans .NET et les diffuser de cette manière. Je ne suis pas en train de créer une application FB pour un profil FB.

Ceci est un pseudo-code pour ce que je veux:

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

Quelque chose comme cela existe-t-il même pour .NET ou leur API est-elle uniquement destinée à PHP?

Était-ce utile?

La solution

Bien sûr, voici un exemple de code. Il utilise la boîte à outils pour développeurs Facebook (vous pouvez la trouver sur codeplex). Et FBConnectAuth qui peut également être trouvé sur codeplex.

Vous voulez vérifier les cookies pour vous assurer que le cookie est réel (assurez-vous que quelqu'un n'essaye pas de pirater); C’est pourquoi l’étape de validation des cookies est importante.

Tant que vous vous connectez à l'aide du code JS, les mêmes cookies que ceux configurés dans le JS sont accessibles en C #.

Cela fonctionne bien pour une application 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;
        }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top