Frage

Ich versuche, mit Facebook in meiner ASP.NET-Website zu arbeiten, wo ich in Benutzer von meiner Seite eingeben in einem Feld in Text angemeldet habe, auf meiner Website für ihren Status. Ich möchte sie in der Lage sein, diesen Status FB zu schieben als auch pro ihre Erlaubnis. Ich habe es einfach Facebook Connect JS-Code verwenden, aber ich mag die Informationen in .NET erhalten und es auf diese Weise drücken. Ich bin eigentlich kein FB App für ein FB-Profil erstellen though.

Dies ist Pseudo-Code für das, was ich will:

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

Ist etwas Ähnliches auch für .NET vorhanden oder ihre API für PHP nur?

War es hilfreich?

Lösung

Sicher, hier ist ein Beispielcode. Es ist mit dem Facebook Developer Toolkit (Sie können es auf Codeplex finden). Und FBConnectAuth die auch auf Codeplex gefunden werden.

Sie möchten die Cookies überprüfen, um sicherzustellen, dass das Cookie real (Sicherstellen, dass jemand nicht zu hacken in versucht); weshalb der Cookie Validierungsschritt ist wichtig.

Solange Sie den JS-Code anmelden verwenden, die gleichen Cookies, die in der JS gesetzt werden, sind zugänglich in C #.

Dies funktioniert für eine Facebook Connect App gut.

        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;
        }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top