You are here

public function SimpleFbConnectFbManager::getFbProfile in Simple FB Connect 8.2

Same name and namespace in other branches
  1. 8.3 src/SimpleFbConnectFbManager.php \Drupal\simple_fb_connect\SimpleFbConnectFbManager::getFbProfile()

Makes an API call to get user's Facebook profile.

Parameters

\Facebook\FacebookSession $fb_session: FacebookSession object.

Return value

\Facebook\GraphObject|false GraphObject representing the user False if exception was thrown

File

src/SimpleFbConnectFbManager.php, line 214
Contains \Drupal\simple_fb_connect\SimpleFbConnectFbManager.

Class

SimpleFbConnectFbManager
Contains all Simple FB Connect logic that is related to Facebook interaction.

Namespace

Drupal\simple_fb_connect

Code

public function getFbProfile(FacebookSession $fb_session) {
  try {
    $request = new FacebookRequest($fb_session, 'GET', '/me?fields=id,name,email');
    $graph_object = $request
      ->execute()
      ->getGraphObject();
    return $graph_object;
  } catch (FacebookRequestException $ex) {
    $this->loggerFactory
      ->get('simple_fb_connect')
      ->error('Could not load Facebook user profile: FacebookRequestException. Error details: @message', array(
      '@message' => json_encode($ex
        ->getResponse()),
    ));
  } catch (\Exception $ex) {
    $this->loggerFactory
      ->get('simple_fb_connect')
      ->error('Could not load Facebook user profile: Unhandled exception. Error details: @message', array(
      '@message' => $ex
        ->getMessage(),
    ));
  }

  // Something went wrong.
  return FALSE;
}