Tôi đã sao chép HTML bên dưới từ trang nhà phát triển Facebook 'Facebook cho trang web' và thay thế APPID bằng id ứng dụng của tôi. Tôi đặt trang này trên máy chủ web dev của tôi. Nếu tôi điều hướng đến trang, nó sẽ hiển thị nút đăng nhập tốt. Nhưng nhấp vào nút đăng nhập, nó sẽ mở trang đăng nhập Facebook có nội dung "Đã xảy ra lỗi. Vui lòng thử lại sau".Hộp thoại Facebook oauth hiển thị "Đã xảy ra lỗi. Vui lòng thử lại sau".
Tôi phải thiếu cái gì đó cơ bản. Bất kỳ ý tưởng?
<html>
<head>
<title>My Facebook Login Page</title>
</head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'APPID',
status : true,
cookie : true,
xfbml : true,
oauth : true // removed a comma after 'true' as it generates a script error
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<div class="fb-login-button">Login with Facebook</div>
</body>
</html>
Điều tra thêm cho thấy nó hoạt động tốt trong Chrome, Firefox và Safari và không hoạt động trong IE9.
Có phải mã thực tế bạn đang chạy không? Bạn chưa quên chỉ định id ứng dụng của mình phải không? – zerkms
Có, tôi đã thay thế APPID bằng id ứng dụng thực tế của mình, sao chép từ trang ứng dụng Facebook. Nếu điều này phù hợp với người khác thì có thể có gì đó không ổn với ứng dụng của tôi. Nhưng thông báo lỗi không hữu ích chút nào. – Sami
Một thông tin khác: nó hoạt động tốt trong Chrome, Firefox và Safari, tức là tôi nhận được trang đăng nhập Facebook như mong đợi. Nhưng nó không thành công trên IE9, tôi nhận được "Đã xảy ra lỗi. Vui lòng thử lại sau." – Sami