2013-03-12 136 views
0

我知道有很多话题Facebook的PHP Sdk访问令牌

在这个问题上,但我见过的每一个,似乎没有任何解决方案! 我得到臭名昭着的“Oauth异常 - 必须使用活动访问令牌来查询有关当前用户的信息”,我不知道该怎么办。

我的Facebook连接工作完全正常,直到昨天,现在,它突然停止工作,突然间今天。

任何人都可以帮助我吗? 我使用php sdk在弹出窗口中将用户连接到Facebook,然后我让他自动化我的应用程序并将窗口重定向到名为facebookReturn.php的php。 在这个文件中,我应该获取用户信息,将它保存在Session上,然后关闭窗口并刷新后面的主页面。

这是我的代码。

的index.php:

require_once 'phps/facebook.php'; 

$config = array(); 
$config[appId] = 'xxxx'; 
$config[secret] = 'xxxx'; 
$config[fileUpload] = false; 
$facebook = new Facebook ($config); 

$facebookId = $facebook->getUser(); 
echo "<br>facebook id: $facebookId"; 

if ($facebookId) { 
    $userProfile = $facebook->api('/me'); 
    $logoutUrl = $facebook->getLogoutUrl(); 
} 
else { 
    $params = array(); 
    $params[scope] = 'publish_stream, user_birthday, email, user_activities'; 
    $params[redirect_uri] = 'http://www.mydomain.com.br/phps/facebookReturn.php'; 
    $params[display] = 'popup'; 
    $loginUrl = $facebook->getLoginUrl($params); 
} 

facebookReturn.php:

require_once 'facebook.php'; 
$config = array(); 
$config[appId] = 'xxxx'; 
$config[secret] = 'xxxx'; 
$config[fileUpload] = false; 
$facebook = new Facebook ($config); 

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

预先感谢您。

+0

你得到这个错误的行和文件? – Girish 2013-03-12 19:39:06

+0

你似乎没有在任何地方获得'access_token'。 Facebook使用授权码将用户重定向回您的返回页面。这是由你来交换,为了一个令牌。 – 2013-03-12 19:39:14

+0

我在这里得到这个错误: $ userProfile = $ facebook-> api('/ me'); 当我尝试获取用户信息。科林,我从来不需要访问令牌,它昨天工作正常。我该怎么办? – DanielFox 2013-03-12 19:41:52

回答

1

Remomber:Facebook令牌在60天内过期。