0

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

我的错误是 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'); 
        }

非常感谢您的帮助。

4

1 回答 1

0

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

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

于 2013-07-06T06:43:12.973 回答