2012-01-15 69 views
-1

我正在构建FB应用程序,需要检查用户是否喜欢我的网页。 要安排它,我需要从用户获得权限。 我安排了登录(所以,当进入应用程序,它需要登录), 但登录后,我需要重定向到同一页面,应用程序索引.. 第一次登录后,它不会停止。FB APP - 获取权限 - 检查登录状态ONCE

$facebook = new Facebook(array(
    'appId' => '139844459464342', 
'secret' => '*********************', 
)); 

// Get User ID 
$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) { 
    error_log($e); 
$user = null; 
} 
} 


    if ($me) { 
$logoutUrl = $facebook->getLogoutUrl(); 
} else { 
$loginUrl = $facebook->getLoginUrl(array(
      'canvas' => 1, 
      'fbconnect' => 1, 
      'display' => 'page', 
      'req_perms' => 'user_likes', 
      'next' => 'http://apps.facebook.com/my-aki-tim/', 
      'cancel_url'=> 'http://apps.facebook.com/my-aki-tim/' 
)); 
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>"; 

它的工作原理,但我不能在用户登录停止.. 如果你能帮帮我,在此先感谢

+1

我从上面的代码中删除了您的密钥。请记住,不应该公布密钥。我建议通过https://developers.facebook.com/apps/139844459464342/summary – DMCS 2012-01-15 15:05:13

+0

上的重置链接立即生成一个新密钥。“我无法停止登录用户”是什么意思?你的应用程序是否经常重定向?或者你有其他想法? – 2012-01-15 15:14:12

回答

0

您正在使用错误的变量$me这是不是在你的代码,这个定义导致重定向循环。请将$me更改为$user_profile或重写任务:

$me = $facebook->api('/me');