Публикация статуса в профиле Facebook без модального окна Facebook с использованием ASP.NET
Вопрос
Я пытаюсь работать с 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;
}