【问题标题】:Facebook PHP SDK (latest - 16.1.13) & Access Token [closed]Facebook PHP SDK(最新 - 16.1.13)和访问令牌 [关闭]
【发布时间】:2013-01-16 16:00:02
【问题描述】:

我有以下代码:

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);
    }

但我收到此消息: An active access token must be used to query information about the current user.

此外,当我打印 $facebook->getAccessToken() 并尝试使用不同的 Facebook 帐户打开我的应用程序时,我得到相同的 token

access token 是什么?我们用它做什么?

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

【问题讨论】:

    标签: php facebook-php-sdk laravel


    【解决方案1】:

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

    更多here

    【讨论】:

    • 那么为每个用户生成一个新的访问令牌?
    • 是的。它们也会在一段时间后过期,因此它们会为用户不断变化
    • 嗯,我只得到APP的访问令牌,没有用户。我认为这就是我收到此错误的原因:An active access token must be used to query information about the current user.任何想法如何获取用户的访问令牌?
    • 很简单。您使用 SDK 的 ->getLoginUrl() (我相信这是函数的名称)并将用户重定向到该链接。它将向用户请求权限并将他重定向回来,为该用户授予您的应用访问令牌
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多