必须使用活动访问令牌来查询有关当前用户的信息。 Facebook PHP SDK v4

时间:2014-09-23 01:26:42

标签: php facebook-graph-api facebook-php-sdk

我将facebook登录令牌从ember-cli传递到我的laravel服务器以注册/登录我的用户,但是我遇到了这个错误。

{"错误":{"输入":" Facebook \ FacebookAuthorizationException","消息":"活动访问必须使用令牌来查询有关当前用户的信息。"," file":" C:\ xampp \ htdocs \ LoginApp \ vendor \ facebook \ php-sdk-v4 \ src \ Facebook的\ FacebookRequestException.php""线" 134}}

这是我的功能

public function authorizeFacebookUser() {
        $facebook_token = Input::get('facebook_access_token');

        FacebookSession::setDefaultApplication('xxxxxxxx', 'xxxxx');

        $session = new FacebookSession((string) $facebook_token);

        if ($session) {
            // have session
            try {
                $user_profile = (new FacebookRequest(
                    $session, 'GET', '/me'
                ))->execute()->getGraphObject(GraphUser::className());

                echo "Name: " . $user_profile->getName();

            } catch(FacebookRequestException $e) {

                echo "Exception occured, code: " . $e->getCode();
                echo " with message: " . $e->getMessage();

            }
        }
    }

1 个答案:

答案 0 :(得分:0)

使用access_token创建会话后,您应该对其进行验证以确保其正确并正常工作:

  try {
    if ( !$session->validate() ) {
      $session = null;
    }
  } catch ( Exception $e ) {
    // catch any exceptions
    $session = null;
  }

然后,您可以进行API调用以获取用户的个人资料信息。希望上面的代码会显示与access_token相关的任何错误。