Pubblica lo stato sul profilo Facebook senza la finestra modale di Facebook usando ASP.NET

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

  •  08-07-2019
  •  | 
  •  

Domanda

Sto cercando di lavorare con Facebook nel mio sito ASP.NET in cui ho un utente connesso del mio sito, inserisco un testo in una casella per il loro stato sul mio sito. Voglio che siano in grado di spingere tale stato anche su FB per loro autorizzazione. L'ho fatto usando il semplice codice JS di Facebook Connect, ma voglio ottenere le informazioni in .NET e inviarle in quel modo. In realtà non sto creando un'app FB per un profilo FB.

Questo è lo pseudo-codice per quello che voglio:

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

Esiste qualcosa di simile per .NET o la loro API è solo per PHP?

È stato utile?

Soluzione

Certo, ecco un codice di esempio. Sta usando Facebook Developer Toolkit (lo puoi trovare su codeplex). E FBConnectAuth che può essere trovato anche su codeplex.

Vuoi controllare i cookie per assicurarti che il cookie sia reale (assicurandoti che qualcuno non stia cercando di hackerare); motivo per cui la fase di convalida dei cookie è importante.

Finché accedi utilizzando il codice JS, gli stessi cookie impostati in JS sono accessibili in C #.

Funziona bene con un'app di 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;
        }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top