<?php require_once __DIR__ . '/vendor/autoload.php'; session_start(); $fb = new Facebook\Facebook(['app_id' => '495125297340244', 'app_secret' => 'c8fec76a911a11491b893e079bb91779', 'default_graph_version' => 'v2.5']); $helper = $fb->getCanvasHelper(); $permissions = ['email', 'publish_actions']; // optional 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)) { if (isset($_SESSION['facebook_access_token'])) { $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); } else { $_SESSION['facebook_access_token'] = (string) $accessToken; // OAuth 2.0 client handler $oAuth2Client = $fb->getOAuth2Client(); // Exchanges a short-lived access token for a long-lived one
/** * Connection to facebook application * * @return \Facebook\Facebook */ private function connectApps() { $fb = new \Facebook\Facebook(['app_id' => $this->appID, 'app_secret' => $this->appSecret, 'default_graph_version' => $this->defaultGraphVersion]); try { $token = $fb->getCanvasHelper()->getAccessToken(); } catch (FacebookSDKException $e) { throw new HttpException(500, 'Facebook Access Token returned an error: ' . $e->getMessage()); } if ($token == null) { $helper = $fb->getRedirectLoginHelper(); $scope = ['email', 'user_likes', 'publish_actions']; $loginUrl = $helper->getLoginUrl('https://apps.facebook.com/' . $this->appID, $scope); echo '<script>window.top.location.href = "' . $loginUrl . '"</script>'; } else { $fb->setDefaultAccessToken($token); } $this->session->set('access_token', $token); $this->session->set('fb', $fb); return $fb; }