这是我的场景。当用户打开浏览器并访问 facebook.com 进行登录时,我希望能够检测到这一点并启动我的 Facebook 应用程序登录过程。
那可能吗?我之所以这么问,是因为我注意到登录 Facebook 本身不会让我的应用程序自动登录,这不太好。
我更喜欢 JavaScript 客户端代码。
UPDATE:在这里你有一个全面运作例子。您唯一需要做的就是将 APP_ID 替换为您在以下位置签署应用程序时获得的任何 ID:http://www.facebook.com/developers/ http://www.facebook.com/developers/以及您可用于本地主机测试的端口。即使在另一个浏览器窗口中,它也会检测用户何时登录。它显然是非常基础的,但证明了使用图形 API 中的工具是可行的。
可以添加这段代码来检测用户什么时候登录。无论用户点击什么,都是同一个oauth登录<fb:login-button>
或直接登录 facebook.com:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Hello App Engine</title>
<SCRIPT type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></SCRIPT>
</head>
<body>
<h1>Hello!</h1>
<div id="fb-root"></div>
<script type="text/javascript">
FB.init({
appId : APP_ID,
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
/*
* Authentication functions
*/
FB.Event.subscribe('auth.login', function (response) {
welcomeMsg(response);
});
FB.Event.subscribe('auth.logout', function (response) {
alert ("Good bye!");
});
if (FB.getSession() != null) {
FB.api('/me', function(response){
console.log(response.name);
welcomeMsg(response);
})
} else {
window.setTimeout(function(){window.location.href="http://localhost:8888"},5000);
}
function welcomeMsg(userData) {
console.log ("Welcome " + userData.name);
}
</script>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)