Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook PHP SDK(最新版本-16.1.13)和;访问令牌_Php_Facebook Php Sdk_Laravel - Fatal编程技术网

Facebook PHP SDK(最新版本-16.1.13)和;访问令牌

Facebook PHP SDK(最新版本-16.1.13)和;访问令牌,php,facebook-php-sdk,laravel,Php,Facebook Php Sdk,Laravel,我有以下代码: public function get_facebook() { $loginUrl = Helpers::fbLogin(); if(Input::get('error')) { Session::flash('failure', 'You need to give permissions.'); return Redirect::to('signup');

我有以下代码:

public function get_facebook()
    {
        $loginUrl = Helpers::fbLogin();

        if(Input::get('error'))
        {
            Session::flash('failure', 'You need to give permissions.');
            return Redirect::to('signup');
        }
        else
        {
            $facebook = IoC::resolve('facebook-sdk');
            $uid = $facebook->getUser();
            $fbuser = $facebook->api('/me', 'GET');

            $user = User::where('uid', '=', $uid)->or_where('email', '=', $fbuser['email'])->first();

            if(is_null($user)){
                Session::flash('fbuser', $fbuser);
                return Redirect::to('signup');
            } else {
                Auth::login($user);
                return Redirect::to('/');
            }
        }

        return Redirect::to($loginUrl);
    }
但我得到的信息是:
必须使用活动访问令牌来查询有关当前用户的信息。

另外,当我打印
$facebook->getAccessToken()
&尝试使用不同的facebook帐户打开我的应用程序时,我会得到相同的
令牌

什么是访问令牌
&我们使用它做什么


另外,我已经正确设置了我的appID和密码。问题是,它有时有效,有时无效。

访问令牌是一种令牌,由用户提供给应用程序,用于从应用程序访问他/她的信息。为了获得该令牌,用户必须授予您至少访问其基本信息的权限


更多

是否为每个用户生成一个新的访问令牌?是的。它们也会在一段时间后过期,所以它们会不断地为usersWell更改,我只获得应用程序的访问令牌,而不是用户。我想这就是为什么我会出现这样的错误:
必须使用一个活动的访问令牌来查询当前用户的信息。
知道如何获取用户的访问令牌吗?非常简单。您可以使用SDK的->getLoginUrl()(我相信这是函数的名称)并将用户重定向到该链接。它将向用户请求权限并将其重定向回,为该用户授予您的应用程序访问令牌