Coldfusion, интеграция с Facebook - PullRequest
1 голос
/ 02 марта 2012

Действительно тупой вопрос, но я не могу понять это. Я пытаюсь заставить пользователей войти в Facebook через мой сайт, который использует coldfusion.

Я пытаюсь следовать простому учебнику, размещенному здесь: http://jcreamerlive.com/2011/01/12/facebook-and-coldfusion/

Я просто пытаюсь прочитать файл cookie, который FB должен вернуть

мой код

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({appId: "XXXX", status: true, cookie: true, xfbml: true});

// This is bascially code to subscribe to an event handler
// Any time someone does any sort of session change i.e. login, logout,
FB.Event.subscribe("auth.sessionChange", function(response) {

if (response.session) {
// A user has logged in, and a new cookie has been saved
window.location.reload();
} else {
// The user has logged out, and the cookie has been cleared
}
});
</script>
<fb:login-button></fb:login-button>
<div id="fb-root"></div>
<cfif isDefined("cookie.fbs_XXXX")>
<cfoutput>#cookie.fbs_XXXX#</cfoutput>
<cfelse>
0
</cfif>
</body>
</html>

Так что мне кажется, что он не получает cookie после входа в систему. Если это так, почему бы и нет? Я знаю, что я что-то упускаю концептуально

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

Спасибо за любую помощь.

Ответы [ 2 ]

1 голос
/ 03 марта 2012

Когда ColdFusion создает файлы cookie или ищет значения в области видимости COOKIE, он ищет имена переменных в верхнем регистре.Так что если вы ссылаетесь на «cookie.fbs_XXXX» в ColdFusion, он ищет cookie с именем FBS_XXXX.Я думаю, что вы можете сделать это вместо этого:

<cfif structKeyExists(cookie, "fbs_XXXX")>
    <cfoutput>#cookie["fbs_XXXX"]#</cfoutput>
<cfelse>
    0
</cfif>

Я на самом деле не проверял это, но я думаю, что стоит попробовать.

Обновление: Я сделал тестчтобы узнать, найдет ли CF файл cookie в нижнем или смешанном регистре с cookie.cookie_name, он найдет его.Будет работать cookie.cookie_name или cookie ["cookie_name"].Так что, возможно, у вас есть другая проблема полностью.Вы проверили, действительно ли окно перезагружается (то есть, что вы получаете ответ от FB)?

0 голосов
/ 10 августа 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...