Tôi đang làm việc trên một ứng dụng Facebook được tích hợp với Facebook và đang cố gắng để có được phiên FB của người dùng. Theo tôi hiểu, một kịch bản sử dụng phổ biến như sau.FB.getLoginStatus không kích hoạt nếu người dùng không đăng nhập vào Facebook
- gọi
FB.init()
- gọi
FB.getLoginStatus
cho nó một callback thích hợp.
Tôi chạy mã sau (id ứng dụng).
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
<!--
function init(){
FB.init({
appId : '9999999999999',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
channelUrl : 'http://127.0.0.1:8888/channel.html', // custom channel
oauth : true // enable OAuth
});
alert('going to call FB.getLoginStatus ');
FB.getLoginStatus(function(response) {
alert('whoo hoo!!! getLoginStatus called the callback');
});
}
init();
//-->
</script>
Nếu người dùng đã đăng nhập vào Facebook trong cùng một phiên trình duyệt thì mọi thứ hoạt động như mong đợi - trả lại số dân _response.authResponse_
. Tuy nhiên, nếu người dùng không đăng nhập vào Facebook thì cuộc gọi lại không được kích hoạt. Kiểm tra nhật ký mạng trình duyệt, tôi thấy rằng Facebook trả về phản hồi sau (yêu cầu từ http://www.facebook.com/dialog/oauth
?).
Application Error: There was a problem getting data for the application you requested. The application may not be valid, or there may be a temporary glitch. Please try again later.
Tôi đã kiểm tra điều này trên Chrome và Firefox (Mac).
Cập nhật
Tôi muốn cảm ơn tất cả những người trả lời.
Ben nhận xét có câu trả lời.
Cảm ơn Ben - bạn đã cứu tôi rất nhiều thất vọng.
Ứng dụng của bạn có ở Chế độ hộp cát không? Nếu vậy có vẻ như là một lỗi có thể gây ra điều này: http://bugs.developers.facebook.net/show_bug.cgi?id=19359 –
Bạn đang sử dụng channelUrl làm loopback, hay chỉ là cho mẫu? Tôi không tin loopback sẽ làm việc cho chức năng đó. –
việc sử dụng channelUrl được giải thích [ở đây] (https://developers.facebook.com/docs/reference/javascript/FB.init/). dường như nó sẽ tăng tốc thời gian tải và giúp tránh một số vấn đề. không thực sự quan tâm nếu nó làm bất cứ điều gì trong khi tôi phát triển, nên giúp đỡ khi tôi đi sống. –