public function insertAction($args) { require_once __DIR__ . '/facebook-php-sdk-v4-5.0.0/src/Facebook/autoload.php'; $fb = new Facebook\Facebook(['app_id' => '959119600818575', 'app_secret' => '9f0062f110ea6d3589e7debcb04c2268', 'default_graph_version' => 'v2.5']); $userId = $_GET['userId']; $lastName = $_GET['lastName']; $firstName = $_GET['firstName']; $token = $_GET['token']; $var = $fb->get('/me?fields=picture, albums', $token); $obj = $var->getGraphNode(); $picture = $obj['picture']; $photo = $picture['url']; $roles = $fb->get('/959119600818575/roles', '959119600818575|NrwTVp41hp0a8XVklYVvKLOKAzE'); $response = $roles->getGraphEdge(); //On vérifie si il est admin ou pas foreach ($response as $data) { if ($userId == $data['user']) { $_SESSION["role"] = "admin"; $_SESSION["name"] = $firstName . " " . $lastName; $_SESSION["idUser"] = $userId; $_SESSION["photo"] = $photo; $_SESSION["token"] = $token; header('Location: /contest'); exit; } } //On liste les user inscrits $verif = $db->prepare("SELECT id_member FROM member"); $verif->execute(); $result = $verif->fetchAll(PDO::FETCH_ASSOC); //Si le tableau est vide on enregistre le user if (count($result) == 0) { $_SESSION["role"] = "user"; $_SESSION["name"] = $firstName . " " . $lastName; $_SESSION["idUser"] = $userId; $_SESSION["photo"] = $photo; $insertUser = $db->prepare("INSERT INTO member(id_member, lastname, firstname, picture) VALUES ('" . $userId . "','" . $lastName . "','" . $firstName . "','" . $photo . "')"); $insertUser->execute(); header('Location: /contest'); } //On parcoure le tableau foreach ($result as $count) { $_SESSION["role"] = "user"; $_SESSION["name"] = $firstName . " " . $lastName; $_SESSION["idUser"] = $userId; $_SESSION["photo"] = $photo; if ($userId != $count['id_member']) { //echo "on enregistre" $insertUser = $db->prepare("INSERT INTO member(id_member, lastname, firstname, picture) VALUES ('" . $userId . "','" . $lastName . "','" . $firstName . "','" . $photo . "')"); $insertUser->execute(); header('Location: /contest'); } else { //echo "on enregistre pas<br>"; header('Location: /contest'); } } }
public function getFacebookUserObject() { require_once APPPATH . "../assets/front/social/facebook/autoload.php"; $output_status = 'success'; $access_token_value = NULL; // Create our Application instance (replace this with your appId and secret). $fb = new Facebook\Facebook(['app_id' => FACEBOOK_APP_ID, 'app_secret' => FACEBOOK_SECRET_ID, 'default_graph_version' => 'v2.5']); $helper = $fb->getRedirectLoginHelper(); try { $accessToken = $helper->getAccessToken(); // Returns a `Facebook\FacebookResponse` object $response = $fb->get('/me?fields=id,name,email', $accessToken); $output_message = $user = $response->getGraphUser(); // The OAuth 2.0 client handler helps us manage access tokens $oAuth2Client = $fb->getOAuth2Client(); $access_token_value = (string) $oAuth2Client->getLongLivedAccessToken($accessToken)->getValue(); } catch (Facebook\Exceptions\FacebookResponseException $e) { // echo 'Graph returned an error: ' . $e->getMessage(); $output_message = $e->getMessage(); $output_status = 'error'; } catch (Facebook\Exceptions\FacebookSDKException $e) { // echo 'Facebook SDK returned an error: ' . $e->getMessage(); $output_message = $e->getMessage(); $output_status = 'error'; } return array('status' => $output_status, 'data' => $output_message, 'accessToken' => $access_token_value); }
/** * @Method({"POST"}) * @Route("/facebook/login", name="facebook_login") */ public function facebookLoginAction(Request $request) { $code = $request->get('code'); $fb = new \Facebook\Facebook(['app_id' => '529276757135612', 'app_secret' => '0fe34b757c10440e7259665a53dda55a', 'default_graph_version' => 'v2.5']); try { $accessToken = $fb->getOAuth2Client()->getAccessTokenFromCode($code, 'http://api.viettut.com/'); $response = $fb->get('/me?fields=id,name,email', $accessToken->getValue()); $user = $response->getGraphUser(); $userManager = $this->container->get('viettut_user.domain_manager.lecturer'); $lecturer = $userManager->findUserByUsernameOrEmail($user['email']); if ($lecturer instanceof UserInterface) { $lecturer->setFacebookId($user['id'])->setName($user['name']); } else { $userDiscriminator = $this->get('rollerworks_multi_user.user_discriminator'); $userDiscriminator->setCurrentUser('viettut_user_system_lecturer'); $lecturer = $userManager->createNew(); $lecturer->setEnabled(true)->setFacebookId($user['id'])->setPlainPassword($user['email'])->setUsername($user['email'])->setEmail($user['email'])->setName($user['name'])->setActive(true)->setAvatar(sprintf('https://graph.facebook.com/%s/picture?type=square', $user['id'])); $userManager->save($lecturer); } $jwtManager = $this->get('lexik_jwt_authentication.jwt_manager'); $jwtTransformer = $this->get('viettut_api.service.jwt_response_transformer'); $tokenString = $jwtManager->create($lecturer); return JsonResponse::create($jwtTransformer->transform(['token' => $tokenString], $lecturer), 200); } catch (\Facebook\Exceptions\FacebookResponseException $e) { throw new UnauthorizedHttpException('Can not login with that account'); } catch (\Facebook\Exceptions\FacebookSDKException $e) { throw new UnauthorizedHttpException('Can not login with that account'); } }
public function indexAction() { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); $config = array('app_id' => '1553973548253647', 'app_secret' => 'b0ea352b328e6a61b2ec1f07672db859', 'default_graph_version' => 'v2.5', 'persistent_data_handler' => 'session'); $fb = new Facebook\Facebook($config); $helper = $fb->getRedirectLoginHelper(); $permissions = ['manage_pages']; $loginUrl = $helper->getLoginUrl('http://www.aeh.dev/kahina/painel/facebook/callback', $permissions); $accessToken = $helper->getAccessToken(); if ($this->user->accessToken) { $logoutUrl = $helper->getLogoutUrl($this->user->accessToken, 'http://www.aeh.dev/kahina/painel/facebook/logout'); echo '<a href="' . $loginUrl . '">Relogin Facebook</a><br>'; echo '<a href="' . $logoutUrl . '">Logout Facebook</a>'; // 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($this->user->accessToken); echo '<h3>Metadata</h3>'; var_dump($tokenMetadata); } else { echo '<a href="' . $loginUrl . '">Login with Facebook</a>'; exit; } echo '<h3>User Data</h3>'; var_dump($this->user); $response = $fb->get('/me/accounts', $this->user->accessToken); echo '<h3>Get Response</h3>'; var_dump($response->getBody()); echo '<h3>Access Token</h3>'; var_dump($accessToken); }
function GetUserInfo() { $fields = ""; $o = null; $n = null; if (isset($_GET['fields'])) { $o = $_GET['fields'] . ",id"; $n = explode(',', $o); foreach ($n as $field) { $fields .= $field . ","; } //remove last comma $fields = rtrim($fields, ","); } else { return "Missing required param"; exit; } $config = (include "/config.php"); $fb = new Facebook\Facebook(['app_id' => $config['app_id'], 'app_secret' => $config['app_secret'], 'default_graph_version' => 'v2.4']); try { $response = $fb->get('/me?fields=' . $fields, $_SESSION['facebook_access_token']); } catch (Facebook\Exceptions\FacebookResponseException $e) { return 'Graph returned an error: ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { return 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } $user = $response->getGraphUser(); return $user; //return $return; }
/** * return true if the current user is a member of $group. here $group will only ever be 'site-planning', but if * multiple groups where defined it would be important to distinguish * @param string $group always 'site-planning' * @return boolean */ function isMemberOf($group) { if (Core::Client()->isAdmin()) { return true; } //TODO: // load fb api. // get token from stored FacebookPlugin parameters // // -- token should have been set up with extended access to user who is an admin of the group -- // // -- for group: fb-admin check //.../{group}/admins // -- for group: fb-member check //../{group}/members // // $fbPlugin = Core::LoadPlugin('FacebookPage'); include_once $fbPlugin->getPath() . DS . 'vendor' . DS . 'autoload.php'; $db = Core::GetDatasource(); $prfx = $db->getPrefix(); $uid = Core::Client()->getUserId(); $results = $db->query('SELECT provider_uid FROM ' . $prfx . 'users_authentications WHERE user_id=' . $uid . ' AND provider=\'facebook\''); if (empty($results)) { return false; } $fbuid = $results[0]->provider_uid; // the following credentials will need to be set. // do not publish the source with real credentials or someone could hijack // the facebook group $app_id = '*****'; $app_secret = '*****'; $app_token = '*****'; $group_id = '*****'; $fb = new Facebook\Facebook(array('app_id' => $app_id, 'app_secret' => $app_secret, 'default_graph_version' => 'v2.5')); $accessToken = $app_token; $fbGroupId = $group_id; $response = $fb->get('/' . $fbGroupId . '/members', $accessToken); $data = json_decode($response->getBody()); //->data; $members = $data->data; while (key_exists('paging', $data) && key_exists('next', $data->paging)) { // facebook group member list might include paging. combine all pages. $text = file_get_contents($data->paging->next); $data = json_decode($text); $members = array_merge($members, $data->data); } foreach ($members as $member) { if ($member->id == $fbuid) { if ($group == "fb-admin") { if ($member->administrator) { return true; } return false; } return true; } } //print_r(array($fbuid,$members)); return false; }
public static function getEntriesByTimeline() { //Start - get all timelines from the database $sql = rex_sql::factory(); $timelines = $sql->getArray('SELECT `user_id` FROM `' . rex::getTablePrefix() . 'socialhub_facebook_timeline`'); unset($sql); if (empty($timelines)) { return false; } //End - get all timelines from the database //Start - get all accounts from the database $sql = rex_sql::factory(); $accounts = $sql->getArray('SELECT * FROM `' . rex::getTablePrefix() . 'socialhub_facebook_account` ORDER BY `id` ASC'); unset($sql); if (empty($accounts)) { return false; } //End - get all accounts from the database //Start - get entries by timeline from twitter foreach ($timelines as $timeline) { $fb = new Facebook\Facebook(['app_id' => $accounts[0]['app_id'], 'app_secret' => $accounts[0]['app_secret'], 'default_graph_version' => 'v2.5', 'default_access_token' => $accounts[0]['app_id'] . '|' . $accounts[0]['app_secret']]); try { $response = $fb->get('/' . $timeline['user_id'] . '/posts'); } catch (Facebook\Exceptions\FacebookResponseException $e) { echo rex_view::error('Graph returned an error: ' . $e->getMessage()); } catch (Facebook\Exceptions\FacebookSDKException $e) { echo rex_view::error('Facebook SDK returned an error: ' . $e->getMessage()); } if (empty($response)) { return; } $response = json_decode($response->getBody(), true); foreach ($response['data'] as $post) { list($userID, $postID) = explode('_', $post['id']); $newPost = rex_sql::factory(); $newPost->setTable(rex::getTablePrefix() . 'socialhub_entry_timeline'); $newPost->setWhere(['post_id' => $postID]); $newPost->select(); if ($newPost->getRows() === 0) { $newPost->reset(); $newPost->setTable(rex::getTablePrefix() . 'socialhub_entry_timeline'); $newPost->setValue('source', 'facebook'); $newPost->setValue('post_id', $postID); $newPost->setValue('message', $post['message']); $newPost->setValue('author_id', $userID); $newPost->setValue('created_time', date('Y-m-d H:i:s', strtotime($post['created_time']))); $newPost->setValue('query', '/' . $timeline['user_id'] . '/posts'); try { $newPost->insert(); } catch (rex_sql_exception $e) { echo rex_view::warning($e->getMessage()); } } } } //End - get entries by timeline from twitter }
public function me() { $fb = new \Facebook\Facebook(['app_id' => $this->appId, 'app_secret' => $this->appSecret, 'default_graph_version' => 'v2.5']); $token = $this->session->getToken(); $response = $fb->get('/me?locale=en_US&fields=gender,last_name,email,first_name,verified', $token); $userNode = $response->getGraphNode(); $email = $userNode->getField('email'); $name = $userNode->getField('last_name'); $firstname = $userNode->getField('first_name'); $gender = $userNode->getField('gender'); $verified = $userNode->getField('verified'); $id = $userNode->getField('id'); $this->session->setGender($gender)->setVerified($verified)->setName($name)->setFirstname($firstname)->setEmail($email)->setId($id); }
public function data() { $config = new Controllers_Api_Facebook_Config_App(); $fb = new Facebook\Facebook(['app_id' => $config->config['app_id'], 'app_secret' => $config->config['app_secret'], 'default_graph_version' => $config->config['default_graph_version']]); $helper = $fb->getRedirectLoginHelper(); $result = array(); try { $accessToken = $helper->getAccessToken(); if (!isset($accessToken)) { if ($helper->getError()) { $result = array('status' => false, 'error' => $helper->getError(), 'code' => $helper->getErrorCode(), 'reason' => $helper->getErrorReason(), 'description' => $helper->getErrorDescription()); } else { $result = array('status' => false, 'error' => 'Bad request'); } } else { $oAuth2Client = $fb->getOAuth2Client(); // Get the access token metadata from /debug_token $tokenMetadata = $oAuth2Client->debugToken($accessToken); $expired = $tokenMetadata->metadata['expires_at']; $issued = $tokenMetadata->metadata['issued_at']; $result['status'] = true; $result['data']['token'] = $tokenMetadata; //session 2 try { // Returns a `Facebook\FacebookResponse` object $response = $fb->get('/me?fields=id,name,email', $accessToken->getValue()); $user = json_decode($response->getGraphUser()); $result['data']['user'] = $user; } catch (Facebook\Exceptions\FacebookResponseException $e) { $result['data']['user'] = $e->getMessage(); } catch (Facebook\Exceptions\FacebookSDKException $e) { $result['data']['user'] = $e->getMessage(); } } } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error $result = array('status' => false, 'error' => $e->getMessage()); } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues $result = array('status' => false, 'error' => $e->getMessage()); } $result['social'] = 'facebook'; //$redirect_uri = $this->input->get('redirect_uri'); //if(isset($_GET['code'])){ // header("Location: ".$redirect_uri."?".http_build_query($result, '', '&')); // }else{ echo json_encode($result); // } }
function download_album($accessToken, $album_download_directory, $album_id, $album_name) { $fb = new Facebook\Facebook(['app_id' => APPID, 'app_secret' => APPSECRET, 'default_graph_version' => 'v2.4']); $response = $fb->get('/' . $album_id . '/photos?fields=source', $accessToken); $album_photos = $response->getDecodedBody(); $album_directory = $album_download_directory . $album_name; if (!file_exists($album_directory)) { mkdir($album_directory, 0777); } $i = 1; foreach ($album_photos['data'] as $album_photo) { file_put_contents($album_directory . '/' . $i . ".jpg", fopen($album_photo['source'], 'r')); $i++; } }
public function facebook_get_user($access_key) { $fb = new Facebook\Facebook(['app_id' => FB_APP_ID, 'app_secret' => FB_SECRET_KEY, 'default_graph_version' => 'v2.2']); try { $response = $fb->get('/me?fields=id,name', $access_key); } 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; } $user = $response->getGraphUser(); return $user; }
/** * Checks with the site to confirm that the given token is indeed valid * and corresponds with the userID we were given. It can do anything else * it needs as well (e.g. facebook provides a debug_token endpoint) * * @param string $token * @param string $userID * @return boolean */ public function validateToken($token, $userID) { $fb = new Facebook\Facebook(['app_id' => Config::inst()->get('FacebookApi', 'AppID'), 'app_secret' => Config::inst()->get('FacebookApi', 'AppSecret'), 'default_graph_version' => 'v2.2']); try { // Returns a `Facebook\FacebookResponse` object $response = $fb->get('/me?fields=id,name', $token); } catch (Facebook\Exceptions\FacebookResponseException $e) { SS_Log::log("Graph returned an error: " . $e->getMessage(), SS_Log::INFO); return false; } catch (Facebook\Exceptions\FacebookSDKException $e) { SS_Log::log('Facebook SDK returned an error: ' . $e->getMessage(), SS_Log::WARN); return false; } $user = $response->getGraphUser(); return $user->getId() == $userID; }
public static function VerifyFB($accessToken) { // Call Facebook and let them verify if the information sent by the user // is the same with the ones in their database. // This will save us from the exploit of a post request with bogus details $fb = new Facebook\Facebook(array('app_id' => '1577295149183234', 'app_secret' => '23a15a243f7ce66a648ec6c48fa6bee9', 'default_graph_version' => 'v2.4')); try { // Returns a `Facebook\FacebookResponse` object $response = $fb->get('/me', $accessToken); // Use the access token retrieved by JS login return $response; } catch (Facebook\Exceptions\FacebookResponseException $e) { //return json_encode(array('message' => $e->getMessage())); Auth::logout(); } catch (Facebook\Exceptions\FacebookSDKException $e) { //return json_encode(array('message' => $e->getMessage())); Auth::logout(); } }
function checklogin() { session_start(); if (isset($_SESSION['fb_access_token'])) { require_once __DIR__ . "/facebook-php-sdk-v4/src/Facebook/autoload.php"; require __DIR__ . "/../config/config.php"; $fb = new Facebook\Facebook(['app_id' => $config['facebook']['app_id'], 'app_secret' => $config['facebook']['app_secret'], 'default_graph_version' => 'v2.5']); try { $response = $fb->get('/me', $_SESSION['fb_access_token'])->getDecodedBody(); } catch (Facebook\Exceptions\FacebookResponseException $e) { // echo 'Graph returned an error: ' . $e->getMessage(); } catch (Facebook\Exceptions\FacebookSDKException $e) { // echo 'Facebook SDK returned an error: ' . $e->getMessage(); } return $response; } else { return false; } }
public function callbackAction() { $fb = new \Facebook\Facebook(['app_id' => "{$this->ecommerce_options->facebook_appId}", 'app_secret' => "{$this->ecommerce_options->facebook_appSecret}", 'default_graph_version' => 'v2.2']); $helper = $fb->getRedirectLoginHelper(); $accessToken = $helper->getAccessToken(); try { // Returns a `Facebook\FacebookResponse` object $response = $fb->get('/me?fields=id,name,email', $accessToken); } 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; } $profile = $response->getGraphUser(); $user = Usuarios::findFirst("uid = '{$profile['id']}'"); if (!empty($user)) { $this->setSession($user); $this->dispatcher->forward(array("action" => "index")); } else { $usuario = new Usuarios(); $usuario->email = $profile['email']; $usuario->nome = $profile['name']; $usuario->nivel_id = 3; $usuario->uid = $profile['id']; if ($usuario->save()) { $cliente = new Clientes(); $cliente->usuario_id = $usuario->id; $cliente->save(); $this->setSession($usuario); $this->dispatcher->forward(array("action" => "index")); } else { $mensagem = ''; foreach ($usuarios->getMessages() as $value) { $mensagem .= $message->getMessage() . "<br/>"; } $this->flashSession->error('Houve um erro:' . $mensagem); return $this->response->redirect("user/login"); } } }
/** * Get Facebook user data * * @static * @return mixed */ public static function user() { X4Core_core::auto_load('fbsdk_library'); $fb = new Facebook\Facebook(array('app_id' => FACEBOOK_APP_ID, 'app_secret' => FACEBOOK_SECRET, 'default_graph_version' => 'v2.2')); // already logged with JS $helper = $fb->getJavaScriptHelper(); try { // get the access token from a Cookie $accessToken = $helper->getAccessToken(); //$_SESSION['fb_access_token'] = (string) $accessToken; // Returns a `Facebook\FacebookResponse` object $response = $fb->get('/me?fields=id,first_name,last_name,email,location', $accessToken); $user = $response->getGraphUser(); } catch (Exception $e) { // user not found //echo 'User not found'; //die; return false; } return $user; }
public function call_back() { $config = new Controllers_Api_Facebook_Config_App(); $fb = new Facebook\Facebook(['app_id' => $config->config['app_id'], 'app_secret' => $config->config['app_secret'], 'default_graph_version' => $config->config['default_graph_version']]); $helper = $fb->getRedirectLoginHelper(); $result = array(); try { $accessToken = $helper->getAccessToken(); if (!isset($accessToken)) { if ($helper->getError()) { $result = array('status' => false, 'data' => array('error' => $helper->getError(), 'code' => $helper->getErrorCode(), 'reason' => $helper->getErrorReason(), 'description' => $helper->getErrorDescription())); } else { $result = array('status' => false, 'data' => array('error' => 'Bad request')); } } else { $oAuth2Client = $fb->getOAuth2Client(); // Get the access token metadata from /debug_token $tokenMetadata = $oAuth2Client->debugToken($accessToken); $result = array('status' => true, 'data' => array('token' => $accessToken->getValue(), 'meta' => json_decode($tokenMetadata))); //session 2 try { // Returns a `Facebook\FacebookResponse` object $response = $fb->get('/me?fields=id,name', $accessToken->getValue()); $user = $response->getGraphUser(); $result = array_merge($result, array('detail' => $user['id'])); } catch (Facebook\Exceptions\FacebookResponseException $e) { $result = array_merge($result, array('detail' => $e->getMessage())); } catch (Facebook\Exceptions\FacebookSDKException $e) { $result = array_merge($result, array('detail' => $e->getMessage())); } } } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error $result = array('status' => false, 'data' => array('error' => $e->getMessage())); } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues $result = array('status' => false, 'data' => array('error' => $e->getMessage())); } echo json_encode($result); }
public function action_facebook() { $this->load->library('session'); require_once '/var/www/html/facebook-php-sdk-v4-5.0.0/src/Facebook/autoload.php'; $fb = new Facebook\Facebook(['app_id' => '522965544543430', 'app_secret' => '6f6c910af14754150e1286b3e880807e', 'default_graph_version' => 'v2.5']); $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! $_SESSION['facebook_access_token'] = (string) $accessToken; // Now you can redirect to another page and use the // access token from $_SESSION['facebook_access_token'] try { // Returns a `Facebook\FacebookResponse` object $response = $fb->get('/me?fields=id,name', $_SESSION['facebook_access_token']); } 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; } $user = $response->getGraphUser(); $this->session->id = $user['id'] . "_facebook"; $this->session->nickname = $user['name']; header("Location: http://www.dreamsoseo.com"); exit; } }
public function index() { $this->load->helper('url'); $fb = new Facebook\Facebook(['app_id' => $this->config->item('fb_app_id'), 'app_secret' => $this->config->item('fb_secret'), 'default_graph_version' => $this->config->item('default_graph_version')]); $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! $_SESSION['facebook_access_token'] = (string) $accessToken; // Sets the default fallback access token so we don't have to pass it to each request $fb->setDefaultAccessToken($accessToken); try { $response = $fb->get('/me?fields=id,email,first_name,last_name,location,picture'); // $userNode = $response->getGraphUser(); } 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; } $this->saveFbData($response); } redirect('http://' . $_SERVER['HTTP_HOST'] . '/survey'); return; }
function getUserFbInfo($token) { require realpath(dirname(__FILE__) . "/../config.php"); $servername = $config["db"]["fanbot"]["host"]; $username = $config["db"]["fanbot"]["username"]; $password = $config["db"]["fanbot"]["password"]; $dbname = $config["db"]["fanbot"]["dbname"]; $fb = new Facebook\Facebook(['app_id' => $config["fbApp"]["appId"], 'app_secret' => $config["fbApp"]["appSecret"], 'default_graph_version' => 'v2.6']); $fb->setDefaultAccessToken($token); // Use one of the helper classes to get a Facebook\Authentication\AccessToken entity. // $helper = $fb->getRedirectLoginHelper(); // $helper = $fb->getJavaScriptHelper(); // $helper = $fb->getCanvasHelper(); // $helper = $fb->getPageTabHelper(); try { // Get the Facebook\GraphNodes\GraphUser object for the current user. // If you provided a 'default_access_token', the '{access-token}' is optional. $response = $fb->get('/me?fields=id,name,last_name,first_name,friends,email,gender,birthday'); } 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; } $me = $response->getGraphUser(); $_SESSION['fbUser']['id'] = $me->getId(); $_SESSION['fbUser']['link'] = $me->getLink(); $_SESSION['fbUser']['name'] = $me->getName(); $_SESSION['fbUser']['email'] = $me->getEmail(); $_SESSION['fbUser']['firstName'] = $me->getFirstName(); $_SESSION['fbUser']['lastName'] = $me->getLastName(); $_SESSION['fbUser']['gender'] = $me->getGender(); $_SESSION['fbUser']['friends'] = $me->getField('friends'); }
} if (isset($accessToken)) { if (isset($_SESSION['facebook_access_token'])) { $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); } else { // getting short-lived access token $_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 $longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']); $_SESSION['facebook_access_token'] = (string) $longLivedAccessToken; // setting default access token to be used in script $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); } $profile_request = $fb->get('/me?fields=name,first_name,last_name,email'); $profile = $profile_request->getGraphNode()->asArray(); $linkData = ['message' => 'User provided message']; $response = $fb->post("/me/feed", $linkData, $accessToken); $graphNode = $response->getGraphNode(); echo 'Posted with id: ' . $graphNode['id']; } else { $loginUrl = $helper->getLoginUrl('http://localhost/Ecommerce/trunk/public_html/fblogin-v5/post_user.php', $permissions); echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>'; } // parametros posibles para $linkData /* $post = array( "access_token"=>$session["access_token"], "description"=>"Te has suscrito a la aplicación del curso de Facebook que ha creado Polin para el 2011", "link"=>$appUrl . "?redirect=" . base64_encode("http://p0l.in"), "caption"=>"Aplicación de pruebas por Polin",
} 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 $longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']); $_SESSION['facebook_access_token'] = (string) $longLivedAccessToken; $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); } // validating the access token try { $request = $fb->get('/me'); } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error if ($e->getCode() == 190) { unset($_SESSION['facebook_access_token']); $helper = $fb->getRedirectLoginHelper(); $loginUrl = $helper->getLoginUrl('https://apps.facebook.com/newfbappi/', $permissions); echo "<script>window.top.location.href='" . $loginUrl . "'</script>"; exit; } } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } // posting on user timeline using publish_actins permission
<?php session_start(); require_once __DIR__ . '/facebook-php-sdk-v4-5.0.0/src/Facebook/autoload.php'; require_once __DIR__ . '/facebook-php-sdk-v4-5.0.0/src/Facebook/Facebook.php'; $fb = new Facebook\Facebook(['app_id' => '1023466864382694', 'app_secret' => '814079f172a9399b12177a08a9cbbc42', 'default_graph_version' => 'v2.4']); $token = 'CAAOi1nLkEuYBAAb450P075eXAo7scVnZAl1GXPwffgIbJqfO0AZC54bZA7T4ehfLdo574gdBiC1Wfw1CwZBdviCrLNywe2MDlK3cXdu5XqCWmtFn2s5LmGuZAsJeC5rLvZB2O4arqDdnEf6sIn98vu4lnwZA4qhypQnIbRI05Y0vvBGg9w3zj9jdVadMdzMIh13f0xtZCnEyNAZDZD'; $fb->setDefaultAccessToken($token); $requestFriends = $fb->get('/me/taggable_friends?fields=name&limit=100'); $friends = $requestFriends->getGraphEdge(); if ($fb->next($friends)) { $allFriends = array(); $friendsArray = $friends->asArray(); $allFriends = array_merge($friendsArray, $allFriends); while ($friends = $fb->next($friends)) { $friendsArray = $friends->asArray(); $allFriends = array_merge($friendsArray, $allFriends); } foreach ($allFriends as $key) { echo $key['name'] . "<br>"; } echo count($allfriends); } else { $allFriends = $friends->asArray(); $totalFriends = count($allFriends); foreach ($allFriends as $key) { echo $key['name'] . "<br>"; } }
$_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 $longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']); $_SESSION['facebook_access_token'] = (string) $longLivedAccessToken; // setting default access token to be used in script $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); } // redirect the user back to the same page if it has "code" GET variable if (isset($_GET['code'])) { header('Location: ./'); } // validating user access token try { $user = $fb->get('/me'); $user = $user->getGraphNode()->asArray(); } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); session_destroy(); // if access token is invalid or expired you can simply redirect to login page using header() function exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } $posts = $fb->get('/id/feed'); // page username or group id or user id $posts = $posts->getGraphEdge()->asArray();
if (!isset($facebook_id) && $connect == NULL) { echo $OUTPUT->heading(get_string("acountconnect", "local_facebook")); $params = ["email", "publish_actions", "user_birthday", "user_tagged_places", "user_work_history", "user_about_me", "user_hometown", "user_actions.books", "user_education_history", "user_likes", "user_friends", "user_religion_politics"]; $loginUrl = $helper->getLoginUrl($CFG->wwwroot . "/local/facebook/connect.php", $params); echo "<br><center><a href='" . htmlspecialchars($loginUrl) . "'><img src='app/images/login.jpg'width='180' height='30'></a><center>"; } else { // If he clicked the link button. if ($connect != NULL) { // Facebook code to search the user information. // We have a user ID, so probably a logged in user. // If not, we'll get an exception, which we handle below. try { $accessToken = $helper->getAccessToken(); if (isset($accessToken)) { // Logged in! $user_data = $facebook->get("/me?fields=link,first_name,middle_name,last_name", $accessToken); $user_profile = $user_data->getGraphUser(); $link = $user_profile["link"]; $first_name = $user_profile["first_name"]; if (isset($user_profile["middle_name"])) { $middle_name = $user_profile["middle_name"]; } else { $middle_name = ""; } $last_name = $user_profile["last_name"]; $record = new stdClass(); $record->moodleid = $USER->id; $record->facebookid = $user_profile["id"]; $record->timemodified = $time; $record->status = FACEBOOK_STATUS_LINKED; $record->lasttimechecked = $time;
require_once __DIR__ . '/src/Facebook/autoload.php'; $fb = new Facebook\Facebook(['app_id' => '150494718639750', 'app_secret' => 'ce13013f03d23d5c354d399a7e7a2138', 'default_graph_version' => 'v2.5']); $helper = $fb->getJavaScriptHelper(); try { $accessToken = $helper->getAccessToken(); } 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(); } if (isset($accessToken)) { $fb->setDefaultAccessToken($accessToken); try { $requestProfile = $fb->get("/me?fields=name,email"); $profile = $requestProfile->getGraphNode()->asArray(); } 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(); } $_SESSION['name'] = $profile['name']; header('location: ../'); exit; } else { echo "Unauthorized access!!!"; exit; }
$oAuth2Client = $facebook->getOAuth2Client(); // Get the access token metadata from /debug_token $tokenMetadata = $oAuth2Client->debugToken($accessToken); /*echo '<h3>Metadata</h3>'; var_dump($tokenMetadata);*/ $vUniversalID = 'fb_' . $tokenMetadata->getField('user_id'); //echo 'UniversalID='.$vUniversalID; // Validation (these will throw FacebookSDKException's when they fail) $tokenMetadata->validateAppId(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) { /*echo "<p>Error getting long-lived access token: " . $helper->getMessage() . "</p>\n\n"; exit;*/ return AddAlertMessage('danger', 'Ошибка при регистрации! (2)', '/'); } /*echo '<h3>Long-lived</h3>'; var_dump($accessToken->getValue());*/ } $accessTokenStr = $accessToken->getValue(); // Поиск пользователя в бд, и если не существует, то создание нового $sql = "select ID " . "from Users " . "where (UniversalID = '{$vUniversalID}');"; $rec = GetMainConnection()->query($sql)->fetch(); if (empty($rec['ID'])) { try { // Returns a Facebook\FacebookResponse object
<?php require_once __DIR__ . '/fb-config.php'; $fb = new Facebook\Facebook($params); $helper = $fb->getRedirectLoginHelper(); $permissions = ['email', 'publish_actions']; // Optional permissions $loginUrl = $helper->getLoginUrl('http://ie6.encom.uy/fb-callback.php', $permissions); if (empty($_SESSION['fb_access_token'])) { echo '<a href="' . htmlspecialchars($loginUrl) . '">Log in with Facebook!</a>'; } else { try { // Get the Facebook\GraphNodes\GraphUser object for the current user. // If you provided a 'default_access_token', the '{access-token}' is optional. $response = $fb->get('/me?fields=id,name,picture', $_SESSION['fb_access_token']); } 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; } $me = $response->getGraphUser(); $_SESSION['me'] = $me; echo 'Logged in as ' . $me->getName(); echo '<a href="http://ie6.encom.uy/post.php">Post on Facebook from the past!</a>'; }
<?php // 設定ファイル読み込み require_once '../include/conf/const.php'; // 関数ファイル読み込み require_once '../include/model/function.php'; // セッション開始 require_once __DIR__ . '/vendor/autoload.php'; session_start(); $fb = new Facebook\Facebook(['app_id' => '607604302712166', 'app_secret' => '35717e7bd645c484da39ff12a6c9ea8b', 'default_graph_version' => 'v2.4', 'default_access_token' => isset($_SESSION['facebook_access_token']) ? $_SESSION['facebook_access_token'] : '607604302712166|35717e7bd645c484da39ff12a6c9ea8b']); $access_token = $_SESSION['facebook_access_token']; if (isset($access_token)) { try { $response = $fb->get('/me?fields=id,email,gender,link,locale,name,timezone,updated_time,verified,last_name,first_name,middle_name'); //var_dump($response); $user = $response->getGraphUser(); //echo 'Name: ' . $user['name'] .$user['email']. 'ID' .$user['id'] ; //exit; //redirect, or do whatever you want } catch (Facebook\Exceptions\FacebookResponseException $e) { //echo 'Graph returned an error: ' . $e->getMessage(); } catch (Facebook\Exceptions\FacebookSDKException $e) { //echo 'Facebook SDK returned an error: ' . $e->getMessage(); } $helper = $fb->getRedirectLoginHelper(); $logoutUrl = $helper->getLogoutUrl($access_token, 'http://localhost/photo_match2/htdocs/login.php'); //FBIDの補完 $fb_id = $user['id']; //ユーザーネームの補完 $user_name = $user['name']; //facebook登録メールアドレスの補完 $email = $user['email'];
// get access token $access_token = $helper->getAccessToken(); // save access token to persistent data store $helper->getPersistentDataHandler()->set('access_token', $access_token); } catch (Exception $e) { // error occured } } // get stored access token $access_token = $helper->getPersistentDataHandler()->get('access_token'); // check if we have an access_token, and that it's valid if ($access_token && !$access_token->isExpired()) { // set default access_token so we can use it in any requests $fb->setDefaultAccessToken($access_token); try { // If you provided a 'default_access_token', second parameter '{access-token}' is optional. $response = $fb->get('/me'); // use $fb->post() to make a POST API call } catch (Exception $e) { // catch any errors and halt script echo $e->getMessage(); exit; } $me = $response->getGraphUser(); echo '<p>Logged in as ' . $me->getName() . '</p>'; echo '<pre>' . print_r($me, 1) . '</pre>'; echo '<p><a href="' . $helper->getLogoutUrl($access_token, 'http://fbappapp.herokuapp.com/logout.php') . '">Logout of Facebook</a></p>'; } else { // show login link echo '<a href="' . $helper->getLoginUrl('http://fbappapp.herokuapp.com/', ['email']) . '">Login using Facebook</a>'; }