/** * Returns user profile * * Examples: * * $data = $hybridauth->authenticate( "Twitter" )->getUserProfile(); */ function getUserProfile() { $response = $this->signedRequest('account/verify_credentials.json'); $response = json_decode($response); if (!isset($response->id) || isset($response->error)) { throw new Exception('User profile request failed: Provider returned an invalid response. ' . 'HTTP client state: (' . $this->httpClient->getState() . ')', Exception::USER_PROFILE_REQUEST_FAILED, $this); } $parser = function ($property) use($response) { return property_exists($response, $property) ? $response->{$property} : null; }; $profile = new Profile(); $profile->setIdentifier($parser('id')); $profile->setFirstName($parser('name')); $profile->setDisplayName($parser('screen_name')); $profile->setDescription($parser('description')); $profile->setPhotoURL($parser('profile_image_url')); $profile->setWebSiteURL($parser('url')); $profile->setRegion($parser('location')); $profile->setProfileURL('http://twitter.com/' . $profile->getDisplayName()); return $profile; }
/** * Get the display-name of the user. */ public function getDisplayName() { return $this->user->getDisplayName(); }