/** * */ public function verifyCredentials(Request $request) { $config = app()->make('config'); $fb = new Facebook\Facebook(['app_id' => $config->get('services.facebook.client_id'), 'app_secret' => $config->get('services.facebook.client_secret'), 'default_graph_version' => 'v2.5']); $helper = $fb->getJavaScriptHelper(); try { // $accessToken = $helper->getAccessToken(); $accessToken = new AccessToken($request->input('accessToken'), $request->input('expiresIn')); } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } if (!isset($accessToken)) { echo 'No cookie set or no OAuth data could be obtained from cookie.'; exit; } try { // Returns a `Facebook\FacebookResponse` object $response = $fb->get('/me?fields=id,name,email,picture,friends', $accessToken->getValue()); /*$friendsResponse = $fb->get('/me/friends', $accessToken->getValue()); //$result['data']; foreach($friendsResponse->getGraphEdge() as $node) { var_dump($node); } exit;*/ } catch (Facebook\Exceptions\FacebookResponseException $e) { echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } // Logged in $user = $response->getGraphUser(); // var_dump($user);exit; // echo 'Name: ' . $user['name']; // $_SESSION['fb_access_token'] = (string) $accessToken; $authUser = $this->findOrCreateUser($user); app()['auth']->login($authUser, true); $hasher = app()->make('hash'); /*var_dump( $hasher->make( "app()->make('config')->get('app.key')" . $authUser->facebook_id ));exit;*/ return ['username' => $authUser->email, 'password' => app()->make('config')->get('app.pass_prefix') . $authUser->facebook_id]; //return redirect()->route('home'); // get posted credentials. // verify credentials against FB. // fetch user data. // check user existance: true => return user. // check user existance: false => register and return user. }
public function fbUserInfoAction() { $fb = new Facebook(['app_id' => '1475718472749501', 'app_secret' => 'a67fee083c27186f52030ff3a72f24f9', 'default_graph_version' => 'v2.4']); try { $helper = $fb->getJavaScriptHelper(); $accessToken = $helper->getAccessToken(); $fb->setDefaultAccessToken((string) $accessToken); $response = $fb->get('/me?locale=en_US&fields=name,email'); $userNode = $response->getGraphUser(); $email = $userNode->getField('email'); $name = $userNode->getField('name'); $arr = explode("@", $email); $login = $arr[0]; $arr2 = explode(" ", $name); $firstname = $arr2[0]; $lastname = $arr2[1]; return new JsonResponse(['firstname' => $firstname, 'lastname' => $lastname, 'login' => $login, 'email' => $email]); } catch (FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch (FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } exit; }
public function callback() { $code = Input::get('code'); if (strlen($code) == 0) { return \Redirect::to('/'); } $facebook = new Facebook(\Config::get('facebook')); $uid = $facebook->getUser(); if ($uid == 0) { return \Redirect::to('/'); } $me = $facebook->api('/me'); $profile = User::where('user_id', $uid)->first(); if (empty($profile)) { $user = new User(); $user->username = $me['name']; $user->photo = 'https://graph.facebook.com/' . $me['id'] . '/picture?type=large'; $user->user_id = $uid; $user->save(); $x = new leaderboard(); $x->user_id = $uid; $x->user_name = $me['name']; $x->round_id = 1; $x->save(); } $user = User::where('user_id', $uid)->select('user_id', 'username', 'photo')->first(); session()->put(['user_id' => $uid, 'name' => $user['username']]); return redirect('/'); }
/** * Create an instance of Facebook session */ private function set_fb_request_session() { $settings = array('app_id' => self::$appId, 'app_secret' => self::$appSecret, 'default_graph_version' => 'v2.5'); $fb = new Facebook\Facebook($settings); $fb->setDefaultAccessToken(self::$fbToken); self::$fbSession = $fb; }
/** * Create a user account for the authenticated Facebook user. * * @return \Models\User * @throws \Facebook\Exceptions\FacebookSDKException * @throws \Facebook\Exceptions\FacebookSDKException * @throws \App\Exceptions\AccountDeactivatedException */ public function registerWithFacebook() { // Load up the facebook sdk $fb = new Facebook(['app_id' => env('FACEBOOK_APP_ID'), 'app_secret' => env('FACEBOOK_APP_SECRET'), 'default_graph_version' => env('FACEBOOK_DEFAULT_GRAPH_VERSION')]); // Retrieve the access token $jsHelper = $fb->getJavaScriptHelper(); $accessToken = $jsHelper->getAccessToken(); if (!$accessToken) { throw new FacebookSDKException('The access token is invalid.'); } // Get the profile info $profileResponse = $fb->get('/me', $accessToken); if ($profileResponse->getHttpStatusCode() != 200) { throw new FacebookSDKException('We could not retrieve your profile info.'); } $profileInfo = $profileResponse->getGraphUser(); // Check if the user is already registered $user = User::findBySocialAccountIdAndTypeId($profileInfo['id'], SocialAccountType::FACEBOOK); if ($user && !$user->active) { throw new AccountDeactivatedException(); } // Create a new user account or update the existing one $user = $user ?: new User(); $user->social_account_type_id = SocialAccountType::FACEBOOK; $user->social_account_id = $profileInfo['id']; $user->name = $profileInfo['name']; $user->email = isset($profileInfo['email']) ? $profileInfo['email'] : ''; $user->location_name = isset($profileInfo['location']) ? $profileInfo['location']->getName() : ''; $user->loggedin_at = date('Y-m-d H:i:s'); $user->active = true; $user->save(); return $user; }
public function facebookLogin(Request $request, $offline = null) { if ($offline) { $facebook_id = '129795977365516'; $name = 'Offline User'; $gender = 'male'; } else { $fb = new Facebook\Facebook(['app_id' => config('services.facebook.client_id'), 'app_secret' => config('services.facebook.client_secret'), 'default_graph_version' => 'v2.5', 'default_access_token' => $request->input('access_token')]); try { $response = $fb->get('/me?fields=id,name,gender,email'); } catch (Facebook\Exceptions\FacebookResponseException $e) { return response('Graph returned an error: ' . $e->getMessage(), 500); } catch (Facebook\Exceptions\FacebookSDKException $e) { return response('Facebook SDK returned an error: ' . $e->getMessage(), 500); } $user = $response->getGraphUser(); $facebook_id = $user->getId(); $name = $user->getName(); $gender = $user->getProperty('gender'); } $participant = Participant::where('facebook_id', $facebook_id)->first(); if ($participant) { session(['participantId' => $participant->id]); return response()->json(['alreadyExists' => true]); } $participant = new Participant(); $participant->name = $name; $participant->facebook_id = $facebook_id; $participant->gender = $gender; session(['participant' => $participant]); return response()->json(['alreadyExists' => false]); }
/** * @return array|mixed */ public function newsFeed() { $request = new Facebook($this->fbConfig); $response = $request->get($this->pageId . '/posts?limit=5'); $postFeeds = json_decode($response->getGraphEdge()->asJson()); return $postFeeds; }
/** * @see OAuth2\IOAuth2GrantExtension::checkGrantExtension */ public function checkGrantExtension(IOAuth2Client $client, array $inputData, array $authHeaders) { if (!isset($inputData['facebook_access_token'])) { return false; } $this->facebookSdk->setDefaultAccessToken($inputData['facebook_access_token']); try { // Try to get the user with the facebook token from Open Graph $fbData = $this->facebookSdk->get('/me?fields=email,id,first_name,last_name,name,name_format'); if (!$fbData instanceof \Facebook\FacebookResponse) { return false; } // Check if a user match in database with the facebook id $user = $this->userManager->findUserBy(['facebookId' => $fbData->getDecodedBody()['id']]); // If none found, try to match email if (null === $user && isset($fbData->getDecodedBody()['email'])) { $user = $this->userManager->findUserBy(['email' => $fbData->getDecodedBody()['email']]); } // If no user found, register a new user and grant token if (null === $user) { // TODO: Create new user return false; } else { // Else, return the access_token for the user // Associate user with facebookId $user->setFacebookId($fbData->getDecodedBody()['id']); $this->userManager->updateUser($user); return array('data' => $user); } } catch (\FacebookApiExceptionion $e) { return false; } }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $fb = new Facebook(['app_id' => env('FACEBOOK_APP_ID'), 'app_secret' => env('FACEBOOK_APP_SECRET'), 'default_graph_version' => 'v2.5']); $helper = $fb->getRedirectLoginHelper(); try { if (isset($_SESSION['facebook_access_token'])) { $accessToken = $_SESSION['facebook_access_token']; } else { $accessToken = $helper->getAccessToken(); } } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } if (isset($accessToken)) { $_SESSION['facebook_access_token'] = (string) $accessToken; return $next($request); } $permissions = ['public_profile', 'publish_actions']; $loginUrl = $helper->getLoginUrl(env('CALLBACK'), $permissions); return redirect($loginUrl); }
public function facebook() { $fb = new Facebook\Facebook(['app_id' => '144053429274589', 'app_secret' => '4ef6916e238aff3b6726dac08b853135', 'default_graph_version' => 'v2.4', 'default_access_token' => 'CAACDBA17B90BAKI0aOXR1vF5zDtZCOKPbWSXopnvvNpBTHZARXVhUVrZBAXn4CB1ZBgsyk13ZA38uZAWoffwchukfajiIOG7cYrNEEAm0CdlHgwDRWeBuD0OZCfT6PB6U2vsE3O45jTgx0YTc24TXEqyZC1ZBIjc9GxD3aSv6WAyIWsZCpAcbnxYPNCdL389FxaRsZD']); try { $response = $fb->get('/me?fields=id,name,email'); } catch (Facebook\Exceptions\FacebookResponseException $e) { echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } $me = $response->getGraphUser(); $name = $me['name']; $email = $me['email']; $u_name = preg_replace('/@.*$/', '', $me['email']); $user = new User(); $user->name = $name; $user->type = 'general'; $user->register_type = 'facebook'; $user->username = $u_name; $user->email = $email; $user->password = bcrypt($u_name); $user->save(); $lastInsertedId = $user->id; $profile = new Profile(); $profile = $user->profile()->save($profile); $credentials = array('email' => $email, 'password' => $u_name); if (Auth::attempt($credentials)) { //return Redirect::to('home'); return redirect()->intended('home'); } //echo '<pre>'; print_r($new_name); //echo 'Logged in as ' . $me['email']; }
/** * @param string $token * * @return UserProfileInterface|null */ protected function getTokenInfo($token) { try { // Get the Facebook\GraphNodes\GraphUser object for the current user. $response = $this->facebook->get('/me?fields=id,name,email,first_name,last_name', $token); $user = $response->getGraphUser(); // check if we can get user identifier if (empty($user->getId())) { return null; } // do not accept tokens generated not for our application even if they are valid, // to protect against "man in the middle" attack $tokenMetadata = $this->facebook->getOAuth2Client()->debugToken($token); // this is not required, but lets be sure because facebook API changes very often $tokenMetadata->validateAppId($this->facebook->getApp()->getId()); $userProfile = new UserProfile(); $userProfile->setIdentifier($user->getId()); $userProfile->setDisplayName($user->getName()); $userProfile->setFirstName($user->getFirstName()); $userProfile->setLastName($user->getLastName()); $userProfile->setEmail($user->getEmail()); // facebook doesn't allow login with not verified email if (!empty($user->getEmail())) { $userProfile->setEmailVerified(true); } return $userProfile; } catch (FacebookSDKException $e) { return null; } }
public function callback() { $fb = new Facebook(['app_id' => Config::get('facebook.app_id'), 'app_secret' => Config::get('facebook.app_secret'), 'default_graph_version' => Config::get('facebook.default_graph_version'), 'persistent_data_handler' => Config::get('facebook.persistent_data_handler')]); $helper = $fb->getRedirectLoginHelper(); try { $accessToken = $helper->getAccessToken(); } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error return Redirect::to('/')->with('mensaje', 'Graph returned an error: ' . $e->getMessage()); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues return Redirect::to('/')->with('mensaje', 'Facebook SDK returned an error: ' . $e->getMessage()); exit; } if (!isset($accessToken)) { if ($helper->getError()) { header('HTTP/1.0 401 Unauthorized'); echo "Error: " . $helper->getError() . "\n"; echo "Error Code: " . $helper->getErrorCode() . "\n"; echo "Error Reason: " . $helper->getErrorReason() . "\n"; echo "Error Description: " . $helper->getErrorDescription() . "\n"; } else { header('HTTP/1.0 400 Bad Request'); echo 'Bad request'; } exit; } // Logged in //echo '<h3>Access Token</h3>'; //var_dump($accessToken->getValue()); // The OAuth 2.0 client handler helps us manage access tokens $oAuth2Client = $fb->getOAuth2Client(); // Get the access token metadata from /debug_token $tokenMetadata = $oAuth2Client->debugToken($accessToken); //echo '<h3>Metadata</h3>'; //var_dump($tokenMetadata); // Validation (these will throw FacebookSDKException's when they fail) $tokenMetadata->validateAppId(Config::get('facebook.app_id')); // If you know the user ID this access token belongs to, you can validate it here //$tokenMetadata->validateUserId('123'); $tokenMetadata->validateExpiration(); if (!$accessToken->isLongLived()) { // Exchanges a short-lived access token for a long-lived one try { $accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken); } catch (Facebook\Exceptions\FacebookSDKException $e) { return Redirect::to('/')->with('mensaje', "<p>Error getting long-lived access token: " . $helper->getMessage() . "</p>\n\n"); exit; } //echo '<h3>Long-lived</h3>'; //var_dump($accessToken->getValue()); } Session::put('fb_access_token', (string) $accessToken); // User is logged in with a long-lived access token. // You can redirect them to a members-only page. return Redirect::to('/')->with('mensaje', 'Ya puede publicar'); }
public function index() { $fb = new Facebook(['app_id' => '178541382481710', 'app_secret' => '00ad5032a61d3ca526c6693f006db028', 'default_graph_version' => 'v2.4']); $fb->setDefaultAccessToken('178541382481710|4K7VTpySNyFIp2gIKlAY3T5pXAc'); $response = $fb->get('/LesGetsOfficiel/feed?fields=id,message,full_picture,link,type&limit=100'); $response = $response->getDecodedBody(); debug($response); die; }
/** * @Route("/", name="homepage") */ public function indexAction(Request $request) { $this->get('session')->start(); $config = ['app_id' => '1690300947880602', 'app_secret' => '0b6107ea187ee9cd79adc66a2dd84254', 'default_graph_version' => 'v2.5', 'persistent_data_handler' => 'session']; $fb = new Facebook\Facebook($config); $helper = $fb->getRedirectLoginHelper(); try { $accessToken = $helper->getAccessToken(); } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } if (!isset($accessToken)) { if ($helper->getError()) { header('HTTP/1.0 401 Unauthorized'); echo "Error: " . $helper->getError() . "\n"; echo "Error Code: " . $helper->getErrorCode() . "\n"; echo "Error Reason: " . $helper->getErrorReason() . "\n"; echo "Error Description: " . $helper->getErrorDescription() . "\n"; } else { header('HTTP/1.0 400 Bad Request'); echo 'Bad request'; } exit; } // Logged in echo '<h3>Access Token</h3>'; var_dump($accessToken->getValue()); // The OAuth 2.0 client handler helps us manage access tokens $oAuth2Client = $fb->getOAuth2Client(); // Get the access token metadata from /debug_token $tokenMetadata = $oAuth2Client->debugToken($accessToken); echo '<h3>Metadata</h3>'; var_dump($tokenMetadata); // Validation (these will throw FacebookSDKException's when they fail) $tokenMetadata->validateAppId($config['app_id']); // If you know the user ID this access token belongs to, you can validate it here //$tokenMetadata->validateUserId('123'); $tokenMetadata->validateExpiration(); if (!$accessToken->isLongLived()) { // Exchanges a short-lived access token for a long-lived one try { $accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken); } catch (Facebook\Exceptions\FacebookSDKException $e) { echo "<p>Error getting long-lived access token: " . $helper->getMessage() . "</p>\n\n"; exit; } echo '<h3>Long-lived</h3>'; var_dump($accessToken->getValue()); } return new Response(); }
public function getProfile($token) { if (empty($this->profile) === true) { $fb = new Facebook(['app_id' => Config::get('facebook.app.id'), 'app_secret' => Config::get('facebook.app.secret'), 'default_access_token' => $token]); $profile = $fb->get('/me')->getGraphUser(); $this->profile = array('provider' => self::PROVIDER_NAME, 'id' => $profile->getField('id'), 'email' => $profile->getField('email'), 'firstName' => $profile->getFirstName(), 'lastName' => $profile->getLastName()); } return $this->profile; }
public function facebook() { $this->load->library('session'); $fb = new Facebook(['app_id' => '1068933233152181', 'app_secret' => 'cb86048c2ca95c034a26fe239e48a8eb']); /* * *@Trying to get and set the f*****g token * */ if (null !== $this->session->userdata('fb_token') && !empty($this->session->userdata('fb_token'))) { $accessToken = $this->session->userdata('fb_token'); } else { $jsHelper = $fb->getJavaScriptHelper(); // @TODO This is going away soon $facebookClient = $fb->getClient(); try { $accessToken = $jsHelper->getAccessToken($facebookClient); $this->session->set_userdata('fb_token', $accessToken); } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); } } //@TODO exchange echo for error /* * *@After we get the token, get user name & email with it, * assign it a pin code, register him in the db + token + time of creation * redirect him to upload controller */ if (isset($accessToken)) { // Logged in. //@TODO set a time=10min session if !sess[time] //@TODO check for Message: Error validating access token: Session has expired on Sunday, 20-Dec-15 13:00:00 PST. The current time is Sunday, 20-Dec-15 13:03:57 PST. $response = $fb->get('/me?locale=en_US&fields=name,email', $accessToken); $userNode = $response->getGraphUser(); $this->session->set_userdata('name', $userNode['name']); //@TODO figure out a way to use pin once, maybe through session. $data['access_token'] = $accessToken; $this->load->model('register_model'); //Create & check if pin is in use do { $pin = $this->generate_pin(); } while ($this->register_model->check_pin($pin) === FALSE); if ($this->register_model->add($userNode['name'], $userNode['email'], $pin)) { $this->session->set_userdata('pin', $pin); $this->session->redirect(site_url('/upload')); } } else { //@TODO CREATE AN ERROR PAGE echo "Unable to read JavaScript SDK cookie"; } }
/** * @inheritdoc */ public function readStream() { $response = $this->facebook->get('/' . $this->page_id . '/posts?limit=' . $this->limit, $this->accesstoken); $posts = $response->getDecodedBody()['data']; $result = []; foreach ($posts as $post) { $result[] = new GenericPost(new \DateTime($post['created_time']), strstr($post['message'], "\n", true) ?: $post['message'], 'https://www.facebook.com/' . $post['id'], 'facebook'); } return $result; }
public function callback() { $app_id = env('FACEBOOK_APP_ID'); $app_secret = env('FACEBOOK_APP_SECRET'); $app_graph = env('default_graph_version'); $fb = new Facebook(['app_id' => $app_id, 'app_secret' => $app_secret, 'default_graph_version' => $app_graph, 'default_access_token' => '903539709730443|d46fd1d4d733eda0600f3f29b1d818eb']); $helper = $fb->getRedirectLoginHelper(); $token = $helper->getAccessToken(); //echo $token; }
/** * Instantiate and return the Facebook object * * @return Facebook */ public function fb() { if ($this->facebookApi === null) { $this->facebookApi = new Facebook((array) $this->config->get('fb_config')); if (!empty($this->config->get('fb_token')->long)) { $this->facebookApi->setDefaultAccessToken($this->config->get('fb_token')->long); } } return $this->facebookApi; }
/** * @Route("/login", name="login") */ public function loginAction(Request $request) { $this->get('session')->start(); $fb = new Facebook(['app_id' => '1690300947880602', 'app_secret' => '0b6107ea187ee9cd79adc66a2dd84254', 'default_graph_version' => 'v2.5', 'persistent_data_handler' => 'session']); $helper = $fb->getRedirectLoginHelper(); $permissions = ['email']; // Optional permissions $loginUrl = $helper->getLoginUrl($this->generateUrl('homepage', array(), true), $permissions); return $this->render('login/login.html.twig', array("loginUrl" => $loginUrl)); }
public function loginCallback() { $fb = new Facebook(['app_id' => '709854915792963', 'app_secret' => '74e61a2eaf730835d8b4b39ec3aede8e', 'default_graph_version' => 'v2.2']); $helper = $fb->getRedirectLoginHelper(); try { $accessToken = $helper->getAccessToken(); } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } if (isset($accessToken)) { // Logged in! $access_token = (string) $accessToken; // Now you can redirect to another page and use the // access token from $_SESSION['facebook_access_token'] } $response = $fb->get('/me?fields=id,name,email', $access_token); $me = $response->getGraphUser(); $uid = $me['id']; //return $uid; if ($uid == 0) { return Redirect::to('/')->with('message', 'There was an error'); } //return $user; $profile = App\Profile::whereUid($uid)->first(); //if user does not exist create user if (empty($profile)) { $user = new App\User(); $existinguser = App\User::whereemail($me['email'])->first(); if (empty($existinguser)) { $user->name = $me['name']; $user->email = $me['email']; //$user->uid=$uid; $user->save(); } $profile = new App\Profile(); $profile->photo = 'https://graph.facebook.com/' . $me['id'] . '/picture?type=large'; $user->email = $me['email']; $profile->uid = $uid; $profile->username = $me['name']; $profile = $user->profiles()->save($profile); } //else only update his access token $profile->access_token = $access_token; $profile->save(); $user = $profile->users; //login the user Auth::login($user); return Redirect::to('/dashboard'); }
/** * Call Facebook API and fetch page data * * @param Facebook ID of the page $page_id * @param Database Access token $access_token * * @return GraphPage */ public function getPageDataFromFacebook($page_id, $access_token) { $params = array('fields' => 'access_token, picture.width(140).height(140){url}, hometown, about, bio, band_members, artists_we_like, booking_agent, website'); $request = $this->facebook->request('GET', '/' . $page_id, $params, $access_token); try { $response = $this->facebook->getClient()->sendRequest($request); } catch (Exception $e) { dd($e); } return $response->getGraphPage(); }
/** * {@inheritDoc} */ public function loadUserByUsername($username) { try { $response = $this->facebook->get('/' . $username); return $response->getGraphNode(FacebookUser::class); } catch (FacebookResponseException $e) { $this->logger->info(sprintf('FacebookResponseException: %s', $e->getMessage())); } catch (FacebookSDKException $e) { $this->logger->warning(sprintf('FacebookSDKException: %s', $e->getMessage())); } throw new UsernameNotFoundException(sprintf('Username "%s" does not exist.', $username)); }
public function get() { $fb = new Fb(['app_id' => Config::getConfig('FacebookAppId'), 'app_secret' => Config::getConfig('FacebookSecret'), 'default_graph_version' => Config::getConfig('FacebookAPIVersion')]); $fields = $this->request->get('facebookFields_text', false, ''); $edge = $this->request->get('facebookEdge_text', false, ''); $response = $fb->sendRequest('GET', '/' . $this->request->get('facebookUserId_text') . $edge, array('fields' => $fields), $this->request->get('facebookAccessToken_text')); $facebookBody = $response->getDecodedBody(); $body = $this->request->body; $body['facebookResponse_text'] = $facebookBody; $this->request->response->body = $body; $this->request->response->code = r_success; }
public function fbcallback() { $fb = new Facebook\Facebook(['app_id' => Config::get("facebook.appId"), 'app_secret' => Config::get("facebook.secret")]); $jsHelper = $fb->getJavaScriptHelper(); // @TODO This is going away soon $facebookClient = $fb->getClient(); try { $accessToken = $jsHelper->getAccessToken($facebookClient); } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error return Redirect::to('/')->with('message', 'Graph returned an error: ' . $e->getMessage()); } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues return Redirect::to('/')->with('message', 'Facebook SDK returned an error: ' . $e->getMessage()); } catch (Exception $e) { // generic exception return Redirect::to('/')->with('message', 'There was an error'); } if (!isset($accessToken)) { return Redirect::to('/')->with('message', 'There was an error'); } $response = $fb->get('/me?fields=id,name,email', $accessToken); $me = $response->getGraphObject(); $gotoProfileCompletePage = false; $profile = Profile::whereUid($me['id'])->first(); if (empty($profile)) { $user = new User(); $user->name = $me['name']; $user->email = $me['email']; //$user->photo_large = 'https://graph.facebook.com/'.$me['username'].'/picture?type=large'; $user->save(); $profile = new Profile(); $profile->uid = $me['id']; $profile->username = $me['email']; $profile->origin = 'fb'; $profile->access_token = $accessToken; $profile->access_token_secret = $accessToken; $profile = $user->profiles()->save($profile); // first time, need to complete profile $gotoProfileCompletePage = true; } $profile->access_token = $accessToken; $profile->save(); $user = $profile->user; Auth::login($user); if ($gotoProfileCompletePage) { return redirect('/login/complete'); } else { return redirect('/'); } }
/** * @Route("/callback", name="callback") */ public function callbackAction(Request $request) { $fb = new Facebook(['app_id' => $this->container->getParameter('fb_app_id'), 'app_secret' => $this->container->getParameter('fb_app_secret'), 'default_graph_version' => 'v2.5']); $accessToken = $fb->getJavaScriptHelper()->getAccessToken(); if (!$accessToken) { throw new \RuntimeException('No cookie set or no OAuth data could be obtained from cookie'); } $userInfo = $fb->get('/me?fields=id,name,email', $accessToken->getValue())->getDecodedBody(); if (!isset($userInfo['id'])) { throw new \RuntimeException('Bad credentials'); } $this->storeUserInfo($userInfo); return $this->redirectToRoute('homepage'); }
/** * Execute the console command. * * @return mixed */ public function handle() { $link = $this->argument('link'); $message = $this->argument('message'); $users = User::all(); $fb = new Facebook(); foreach ($users as $user) { try { $fb->post("/{$user->facebook_id}/notifications", ['href' => $link, 'template' => $message], env('FACEBOOK_APP_ID') . '|' . env('FACEBOOK_APP_SECRET')); } catch (\Facebook\Exceptions\FacebookResponseException $e) { echo "Caught exception {$e->getMessage()}." . PHP_EOL; } } }
public function indexAction() { // Initialisation de Facebook $fb = new Facebook(['app_id' => $this->getParameter('facebook.app_id'), 'app_secret' => $this->getParameter('facebook.app_secret'), 'default_graph_version' => $this->getParameter('facebook.default_graph_version'), 'default_access_token' => $this->getParameter('facebook.default_access_token')]); // Requête sur le nombre de likes $request = new FacebookRequest($fb->getApp(), $fb->getDefaultAccessToken(), 'GET', '/RadioGatsun', array('fields' => 'likes')); // Extraction $likes = $fb->getClient()->sendRequest($request)->getGraphNode()->getField('likes'); $repository = $this->getDoctrine()->getManager()->getRepository('GatsunWebsiteBundle:Publication'); $listePublications = $repository->findBy(array(), array('date' => 'desc'), 5, 0); $listeVignettes = $this->getDoctrine()->getManager()->getRepository('GatsunWebsiteBundle:Vignette')->findAll(); $listeEmissions = $this->getDoctrine()->getManager()->getRepository('GatsunWebsiteBundle:Emission')->getNextEmissions(2); return $this->render('GatsunWebsiteBundle:General:accueil.html.twig', array('publications' => $listePublications, 'listeVignettes' => $listeVignettes, 'listeEmissions' => $listeEmissions, 'facebookLikes' => $likes)); }
/** * @param string $userAccessToken * @return \Facebook\Authentication\AccessToken|null * @throws LiveBroadcastOutputException */ public function getLongLivedAccessToken($userAccessToken) { if (!$this->facebookSDK) { $this->initFacebook(); } if (!$userAccessToken) { return null; } try { return $this->facebookSDK->getOAuth2Client()->getLongLivedAccessToken($userAccessToken); } catch (FacebookSDKException $ex) { throw new LiveBroadcastOutputException('Facebook SDK exception: ' . $ex->getMessage()); } }
/** * Execute the job. * * @return void */ public function handle(Facebook $fb) { try { $response = $fb->get('/me?fields=' . implode($this->changedFields, ','), $this->user->token)->getGraphUser(); } catch (FacebookAuthenticationException $e) { return false; } foreach ($response as $field => $value) { if (in_array($field, $this->changedFields)) { $this->user->{$field} = $value; } } $this->user->save(); }