Facebook PHP SDK没有获得有效的访问令牌

问题描述:

我一直在关注开发人员文档中的指示信息,并且在PHP-SDK教程中遇到了问题。Facebook PHP SDK没有获得有效的访问令牌

https://developers.facebook.com/docs/reference/php/facebook-api/

“经由图形API获取用户的个人资料,并打印自己的名字”在上面的网址例子似乎在尝试过程中断裂,尽可能接近我可以告诉它接受一个糟糕的访问令牌。

错误消息: 致命错误:未捕获OAuthException:必须使用活动访问令牌来查询有关当前用户的信息。抛出myURL/sdk/base_facebook.php在线1254

我可以通过FQL查询成功地获得一个有效的访问令牌,但只有在使用PHP SDK命令时才会收到错误消息$ facebook-> api('/ me' ,'GET')(如文档和教程显示),并且我可以告诉它应该在运行中获得有效的访问令牌,但不是。

有没有什么,我从别的地方,我打算在这个例子中使用失踪?我不确定我做错了什么。

[编辑以显示代码]

<?php 
    // Remember to copy files from the SDK's src/ directory to a 
    // directory in your application on the server, such as php-sdk/ 
    require_once('php-sdk/facebook.php'); 

    $config = array(
    'appId' => 'MY_APP_ID', 
    'secret' => 'MY_APP_SECRET', 
); 

    $facebook = new Facebook($config); 
    $user_id = $facebook->getUser(); 
?> 
<html> 
    <head></head> 
    <body> 

    <?php 
    if($user_id) { 

     // We have a user ID, so probably a logged in user. 
     // If not, we'll get an exception, which we handle below. 
     try { 

     $user_profile = $facebook->api('/me','GET'); 
     echo "Name: " . $user_profile['name']; 

     } catch(FacebookApiException $e) { 
     // If the user is logged out, you can have a 
     // user ID even though the access token is invalid. 
     // In this case, we'll get an exception, so we'll 
     // just ask the user to login again here. 
     $login_url = $facebook->getLoginUrl(); 
     echo 'Please <a href="' . $login_url . '">login.</a>'; 
     error_log($e->getType()); 
     error_log($e->getMessage()); 
     } 
    } else { 

     // No user, print a link for the user to login 
     $login_url = $facebook->getLoginUrl(); 
     echo 'Please <a href="' . $login_url . '">login.</a>'; 

    } 

    ?> 

    </body> 
</html> 
+0

用户是否登录到您的应用程序?你可以从$ facebook-> getLoginUrl()获得一个url来登录它们。 – 2013-03-12 03:12:00

+0

这就是踢球者,我是用户,我已经登录到Facebook,并且该应用已经拥有了我的账户权限,'$ user_id = $ facebook-> getUser();'实际上获取我的用户ID号码,但是当它试图获得一个访问令牌时它就会崩溃。编辑我的条目以显示我的代码。 – VikingGoat 2013-03-12 03:15:14

+0

我插入'echo“

".$e."
”;'catch后显示上面的错误信息。 – VikingGoat 2013-03-12 03:18:00

好吧没关系,一些奇怪的原因,没有变化,24小时后,该脚本工作。 感谢所有帮助人们:)