当用户想要注册我的网站时,我正在使用下面的脚本,所以当他批准应用程序时,字段会自动填写,他只需要提交表单。
但是我坚持登录机制的第二部分,如何检查用户是否已经登录到他的Facebook帐户并且他批准了我的申请?
我将每个用户的facebook ID保存在我的用户数据库中。
注意:我使用的是用户流,而不是服务器流。
<script type="text/javascript">
var appId = "xxxxxxxxx";
if(window.location.hash.length == 0)
{
url = "https://www.facebook.com/dialog/oauth?client_id=" +
appId + "&redirect_uri=" + window.location +
"&response_type=token";
//window.open(url);
} else {
accessToken = window.location.hash.substring(1);
graphUrl = "https://graph.facebook.com/me?" + accessToken +
"&callback=displayUser"
//use JSON-P to call the graph
var script = document.createElement("script");
script.src = graphUrl;
document.body.appendChild(script);
}
function displayUser(user) {
myform = document.forms['regform'];
username = user.name;
first = username.split(" ");
myform.elements['fname'].value = first[0];
myform.elements['lname'].value = first[1];
myform.elements['username'].value = first[0]+first[1];
myform.elements['email'].value = user.email;
myform.elements['fbid'].value = user.id;
}
</script>
答案 0 :(得分:0)
您可能想要使用Facebook JS SDK:http://developers.facebook.com/docs/reference/javascript/
例如,要检查登录状态,您可以执行以下操作:
FB.getLoginStatus(function(response) {
if (response.session) {
// logged in and connected user, someone you know
} else {
// no user session available, someone you dont know
}
});