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



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

{"error":{"type":"Facebook\FacebookAuthorizationException","message":"必须使用活动访问令牌来查询有关当前用户的信息。","file":"C:\examplep\htdocs\LoginApp\vendor\Facebook\php-sdk-v4\src\Facebook\FacebookRequestException.php","line":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();
            }
        }
    }

使用access_token创建会话后,您应该对其进行验证,以确保其正确且有效:

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

然后您可以调用API来获取用户的配置文件信息。希望上面的代码将显示与access_token相关的任何错误。

最新更新