Facebook PHP SDK有效访问令牌

时间:2013-07-06 05:25:06

标签: php facebook login facebook-php-sdk token

我一遍又一遍地搜索,我似乎无法找到答案。我做错了什么?

我的错误是FacebookApiException [0]:必须使用活动访问令牌来查询有关当前用户的信息。

编辑只是添加。这工作了一两次,但从未连续。

require_once('media/fb/facebook.php');
        $app_id = '123456';
        $app_secret = '123456';
        $my_url = 'mysiteurl';

        $config = array(
            'appId' => $app_id,
            'secret' => $app_secret,
            'fileUload' => 'false');

        $facebook = new Facebook($config);
        $user = $facebook->getUser();
        if($user) {
            try {
                $user_profile = $facebook->api('/me','GET');
            } catch(FacebookApiException $e) {
                error_log($e->getType());
                error_log($e->getMessage());
            }    
        } else {
            $login_url = $facebook->getLoginUrl(array('redirect_uri'  => $my_url));
            header("Location:" . $login_url);
            $user_profile = $facebook->api('/me','GET'); 
        }

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你的错误来自这一行:底部是$user_profile = $facebook->api('/me','GET');吗?

标题功能会将用户重定向到Facebook登录页面,这将导致浏览器刷新。在此之后,您不会立即获得用户的访问令牌。您需要等到用户重定向回您的网站才能获得访问令牌。您需要将$my_url设置为指向您在此处编写的代码的同一页面。