Я внедрил 6 месяцев назад на нашем сайте веб-приложений (Asp.Net) страницу, на которой вы можете аутентифицировать Facebook, чтобы использовать свою учетную запись Facebook для публикации сообщения о том, что пользователь fb зарегистрировался на стене.
Теперь кажется, что это больше не работает. Я не знаю почему. Я подозреваю, что Facebook снова изменил свои API.
Я могу дать вам некоторый код, который у меня есть, или, пожалуйста, скажите мне окончательное решение для того, что я пытаюсь реализовать.
Так:
У меня есть это
затем внизу:
<!-- inserted for fb temp -->
<div id="fb-root">
</div>
<script type='text/javascript'>
window.fbAsyncInit = function () {
FB.init({ appId: '<%= FacebookAppID %>', status: true, cookie: true, xfbml: true });
/* sample events to respond to*/
FB.Event.subscribe('auth.login', function (response) { });
FB.Event.subscribe('auth.logout', function (response) { });
FB.getLoginStatus(function (response) { });
};
(function () {
//alert(document.location.protocol);
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
} ());
</script>
Я подозреваю, что есть проблема с получением cookie, однако.
В FacebookConnect.cs есть эта функция
private string GetFacebookCookieValue(string cookieValue)
{
string tmp = "";
string cookieName = "fbs_" + ConfigurationManager.AppSettings["AppID"];
tmp += cookieName + "";
string retString = null;
HttpCookie c = HttpContext.Current.Request.Cookies[cookieName];
if (HttpContext.Current.Request.Cookies[cookieName] != null)
{
retString = HttpContext.Current.Request.Cookies[cookieName][cookieValue];
tmp += " [[" + HttpContext.Current.Request.Cookies[cookieName][cookieValue];
}
else
{
//tmp += c.ToString() + "]] ";
}
//throw new Exception(tmp);
return retString;
}
при поиске файлов cookie, установленных для моего веб-сайта, я не нахожу файлов cookie с именем fbs_, onlt fbsr_
Обновление:
public string AccessToken
{
get
{
//NOTE: oddly enough the accesstoken key in the cookie is actually \"access_token
string token = GetFacebookCookieValue("\"access_token");
return token;
}
}