dar*_*gho 9 javascript facebook
我正在尝试编写一个代码来检查用户是否登录,并发现FBJS API中有一个内置方法,称为getLoginStatus()
我已经在html中实现了它,但是对于某些方法,getLoginStatus()内部的alert()没有被触发.
我也尝试在init()中添加channelUrl,但它仍然是这样做的.
下面是我写的代码.
任何人都可以帮助我吗?
提前致谢!
<!-- 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>
Run Code Online (Sandbox Code Playgroud)
前几天我有这个问题,问题是我没有登录Facebook并且我的应用程序处于沙盒模式.Maaaaybe在这里也是一样的,但是无论如何都想建议它.
注意:无法使用的可比组合作为测试用户登录Facebook,该用户无法访问相关应用程序或以非测试/非管理员用户身份登录Facebook并在沙盒中拥有该应用程序模式.
他们改变了它。在响应上运行 console.log ,看看您需要这样测试:
if (response.status=='connected')) {...}
Run Code Online (Sandbox Code Playgroud)
编辑:这是我的大部分登录信息:
<?php
// using Facebook PHP SDK (v.3.1.1)
$facebook = new Facebook(array(
'appId' => APP_ID
'secret' => SECRET
));
// See if there is a user from a cookie
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
$user = null;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
以及正文中的 js:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '<?php echo $facebook->getAppId(); ?>',
status : true,
cookie : true,
oauth: true,
channelUrl : MY_CHANNEL_URL,
xfbml : true
});
FB.getLoginStatus(function(response) {
console.log( response );
if ((response.status)&&(response.status=='connected')) {
loadStreamInto ( $("#FBmessages") );
} else {
}
});
};
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20432 次 |
| 最近记录: |