Tôi đang cố gắng viết mã để kiểm tra xem người dùng có đăng nhập hay không, và thấy rằng có một phương pháp tích hợp trong FBJS API, được gọi là getLoginStatus()FB.getLoginStatus() không hoạt động
Tôi đã triển khai bên trong html, nhưng đối với một số cách, cảnh báo() bên trong getLoginStatus() không được kích hoạt.
Tôi cũng đã cố gắng thêm channelUrl tại init(), nhưng nó vẫn làm như vậy.
Dưới đây là mã tôi đã viết.
Có ai có thể giúp tôi không?
Cảm ơn trước!
<!-- Initialize FB API for use -->
<div id="fb-root"></div>
<script type="text/javascript">
//var curLoc = window.location;
//var chanURL = curLoc.protocol + "//" + curLoc.hostname + ":" +
//curLoc.port + "/channel.html"
window.fbAsyncInit = function() {
FB.init({appId: '####', status: true, cookie: true, xfbml: true});
FB.getLoginStatus(function(response) {
if (response.session) {
// logged in and connected user, someone you know
alert('logged in');
} else {
// no user session available, someone you dont know
alert('not logged in');
}
});
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
Cảm ơn bạn đã trả lời Bobbi. Tôi đã thay đổi câu lệnh if thành response.status, nhưng vẫn không có phản hồi, tôi cũng đã sử dụng console.log, nhưng nó không xuất ra bất kỳ lệnh nào trên firebug. Tôi cũng đã cố gắng sử dụng authResponse bằng cách bật oauth, nhưng tương tự. Có vấn đề gì nếu tôi sử dụng localhost để kiểm tra nó? – darangho
FB sẽ khiếu nại khi bạn cố gắng đăng nhập lại trực tiếp nếu đường dẫn của bạn sai. Tôi nghĩ bạn sẽ nhận thấy điều đó. Tôi sử dụng localhost tất cả các thời gian, chỉ cần nhập đó là url trang web ứng dụng của bạn trên trang nhà phát triển của bạn. RE console.log. Nếu bạn không nhận được gì, hãy xem liệu fbAsyncInit của bạn có bị gọi hay không, gỡ lỗi từ đó. –