Facebook PHP SDK - getLoginUrl()和getLogoutUrl()不起作用

时间:2012-02-04 09:13:55

标签: facebook-graph-api login facebook-php-sdk logout

这让我疯了,我无法弄清楚为什么这个简单的页面会让我登录并注销我的应用程序会出现问题?

我得到的错误是:

  

OAuthException:必须使用活动访问令牌来查询有关当前用户的信息

<?php
date_default_timezone_set('America/Denver');
include_once( 'fb-sdk/src/facebook.php');
$appid = '****';
$appsecret = '****';

$facebook = new Facebook(array(
  'appId'  => $appid,
  'secret' => $appsecret,
  'cookie' => true,
));

$logoutUrl = $facebook->getLogoutUrl();

$loginUrl = $facebook->getLoginUrl();

try{
 $user = $facebook->api('/me');
 echo '<h1>HELLO '.$user['full_name'].'</h1>';
}catch(Exception $e){

    echo $e; 
}

    echo '<a href="'.$logoutUrl .'">logout</a> ';

    echo '<a href="'.$loginUrl .'">login</a> ';
?>

3 个答案:

答案 0 :(得分:0)

我认为您需要指定权限

$params = array(
'scope' => 'read_stream, friends_likes',
'redirect_uri' => 'https://www.myapp.com/post_login_page'
);

$loginUrl = $facebook->getLoginUrl($params);

答案 1 :(得分:0)

从代码中删除echo $e;,它不应显示消息。

答案 2 :(得分:0)

我在http://samoldak.com/index.php/fixing-facebooks-php-sdk-logout/

找到了解决方案

您需要创建一个单独的注销页面并手动终止与您的域关联的Facebook会话。