Публикация статуса в профиле Facebook без модального окна Facebook с использованием ASP.NET

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

  •  08-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь работать с Facebook на своем сайте ASP.NET, где у меня есть залогиненный пользователь моего сайта, введите текст в поле для его статуса на моем сайте. Я хочу, чтобы они также могли передавать этот статус в FB с их разрешения. Я сделал это с помощью простого кода JS Facebook Connect, но я хочу получить информацию в .NET и продвигать ее таким образом. На самом деле я не создаю приложение FB для профиля FB.

Это псевдокод для того, что я хочу:

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

Есть ли что-нибудь подобное для .NET или их API только для PHP?

Это было полезно?

Решение

Конечно, вот пример кода. Он использует Facebook Developer Toolkit (вы можете найти его в codeplex). И FBConnectAuth, который также можно найти на codeplex.

Вы хотите проверить файлы cookie, чтобы убедиться, что файл cookie является реальным (убедитесь, что кто-то не пытается его взломать); именно поэтому важен шаг проверки файлов cookie.

Пока вы входите в систему с помощью кода JS, те же куки, которые установлены в JS, доступны в C #.

Это прекрасно работает для приложения 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;
        }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top