2
我正在使用Facebook的JavaScript的SDK。我创建了一个自定义Facebook按钮,我正在使用本地主机。当我连接到Facebook时,我没有获得授权答复。另外当我点击按钮点击功能不起作用。我怎么解决这个问题?Facebook登录自定义按钮javascript sdk
对象{状态: “NOT_AUTHORIZED”,authResponse:空}
HTML代码
<div class="col-md-12 text-center">
<button class="loginBtn loginBtn--facebook" id="test">
<span>Login with Facebook</span>
</button>
</div>
JS代码
function statusChangeCallback(response) {
console.log(response);
if (accessToken) {
var accessToken = response.authResponse.accessToken;
}
if (response.status === 'connected') {
testAPI2(accessToken);
} else if (response.status === 'not_authorized') {
console.log("Err");
} else {
console.log("Err");
}
}
function checkLoginState() {
FB.getLoginStatus(function (response) {
statusChangeCallback(response);
});
}
window.fbAsyncInit = function() {
FB.init({
appId : '39798***',
cookie : true,
xfbml : true,
version : 'v2.8'
});
FB.getLoginStatus(function (response) {
statusChangeCallback(response);
});
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_EN/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
function testAPI2() {
FB.api('/me', { fields: 'id,name' },
function (response) {
var user_id = response.id;//name
var name = response.name;
var type = 1;
$.ajax({
type: 'post',
url: "services/services.php",
//dataType : 'json',
data: {
type: 'facebookLogin',
facebookId: user_id
},
async: true,
cache: false,
success: function (data) {
console.log(data);
setTimeout(function() {
}, 1000);
},
error: function (data) {
console.log(data);
console.log("An error occurred");
}
});
}
);
}
$("#test").click(function(){
checkLoginState();
});
而究竟在何处,你实际调用Facebook登录对话框......? – CBroe
Id名称是测试呼叫功能 – Fatih
我不知道这应该是什么意思。事实是,如果你想用你自己的按钮触发Facebook登录 - 那么你也必须自己调用登录对话框。迄今为止所显示的代码中没有任何内容会这样做。 – CBroe